[SQL] 데이터 분석을 위한 SQL 기초 공부(4)_feat:데이터리안
∇ BETWEEN 절 심화.
- BETWEEN은 SQL에서 특정 범위 내에 있는 행만 선택할 수 있는 논리 연산자.
- AND 연산자와 쌍을 이루며, 경계값[시작값&끝값]을 모두 포함합니다.
- 시작값과 끝값 사이에 있는 값을 검색하는데 사용됩니다.
일반적으로 숫자,날짜,시간과 같은 연속적인 데이터 타입에 적용됩니다.
∴ 성능 최적화
1. 인덱스 사용.
- 'BETWEEN' 연산자는 범위 검색을 위해 인덱스를 사용할 수 있습니다,
- 데이터베이스는 인덱스를 활용하여 검색 속도를 높일 수 있습니다.
2. 복합 인덱스 활용.
- 여러 열을 기준으로 범위 검색을 할 때는 '복합 인덱스'를 사용 가능.
∴ 데이터베이스 시스템별 동작 차이.
1. MySQL
- 'BETWEEN'은 경계값을 포함하여 비교
- 날짜나 시간 범위를 검색할 때 자주 사용됩니다.
2. PostgreSQL
- 'BETWEEN"은 동일하게 경계값을 포함하여 비교.
- 특정 시점의 타임스탬프나 기간을 검색할 때 유용합니다.
∴ 성능 고려 사항.
- 인덱스 최적화 : 범위 검색을 자주 사용한느 열에 인덱스를 생성하여 검색 성능을 최적화.
- 파티셔닝 : 대규모 테이블에서 범위 검색을 자주 사용할 경우, 파티셔닝을 통해 성능 개선 가능.
- 통계 및 히스토그램 : DB 시스템에서 통계 정보를 활용하여 쿼리 최적화.
∇ IN 절 심화.
- IN은 결과에 포함시키고자 하는 값 목록을 지정할 수 있는 SQL의 논리 연산자
- 데이터 유형에 관계없이 목록의 값은 쉼표로 구분.
= IN은 여러개의 OR 조건을 결합하는것과 동일한 역할을 합니다.
× 서브쿼리와의 결합.
: IN 연산자는 서브쿼리와 결합하여 사용될 수 있습니다.
서브쿼리를 사용하면 다른 테이블에서 값을 동적으로 가져와 비교할 수 있습니다.