조건 검색, 효율적인 방법 (BETWEEN, IN)
1. AND를 이용한 조건절
SELECT * FROM student
WHERE _id > '2009' AND _id < '2011';
- BETWEEN A AND B
- A부터 B까지 조건에 맞는 데이터 조회
- 숫자와 문자도 가능하
2. BETWEEN을 이용한 조건
SELECT * FROM student
WHERE _id BETWEEN '2009' AND '2011';
- 1번과 2번의 결과는 같지만 두 쿼리의 성능은 다르다.
- 1번은 '2009'보다 큰 값을 모두 구하고, '2011' 보다 작은 값을 모두 구하여 교집합을 다시 구하는 연산
- 2번은 '2009' 부터 시작하여 '2011'보다 작을 때 까지 순차적으로 구하기 때문에 1번에 비해 성능적으로 좋다.
3. OR을 이용한 조건절
SELECT * FROM student
WHERE belong = 'MSE' OR belong = 'ESE' OR belong = 'CSE';
- IN Operater, IN 연산자
- WHERE 절 내에서 특정값 여러개를 선택하는 SQL 연산자
- 괄호 내의 값 중 일치하는 것이 있으면 TRUE 및 반
4. IN을 이용한 조건
SELECT * FROM student
WHERE belong IN ('MSE', 'ESE', 'CSE');
- 3번과 4번의 결과는 같지만 성능적으로는 4번이 더 좋다.
- 3번의 쿼리는 MSE와 같은 데이터를 찾고, ESE와 같은 데이터를 찾고, CSE와 같은 데이터를 찾고 이들의 교집합을 반환하는 반복되는 과정을 거친다.
- 4번의 쿼리는 괄호안의 데이터와 일치하는 것만 탐색하기 때문에 반복없이 데이터를 반환하여 3번에 비해 성능적으로 좋다.
'개발 > Database' 카테고리의 다른 글
테이블 변경 (ALTER) - 테이블 이름 변경 (RENAME) (0) | 2024.02.02 |
---|---|
데이터 베이스, 테이블 삭제 (0) | 2024.02.02 |
와일드 카드 (LIKE, %, _ ) (0) | 2024.02.01 |
데이터 조건 선택 (WHERE) (1) | 2024.02.01 |
데이터 선택 (SELECT) (0) | 2024.02.01 |