만약 회사에 직원이 10만 명이 있다면 SELECT * FROM 직원 쿼리는 10만 줄의 데이터를 모조리 화면에 뿌리며 서버를 뻗게 만들 수 있습니다.
이때 WHERE 절을 사용하여 "급여가 5000 이상인 사람" 또는 "부서가 '영업부'인 사람"처럼 특정 조건을 부여하면, DB가 그 조건에 맞는 데이터만 쏙쏙 골라내어(필터링하여) 결과로 반환해 줍니다.
수만 개의 데이터 덩어리를 WHERE 절이라는 채반(필터) 위에 쏟아붓는다고 생각해 보세요. 조건식(예: 나이 >= 20)이라는 채반의 구멍 크기를 통과하는 데이터(True)만 최종 결과 그릇에 담기게 됩니다.
| 연산자 | 설명 | 사용 예시 |
|---|---|---|
| =, !=, >, < | 일반적인 비교 연산자 (같다, 다르다, 크다 등) | WHERE age >= 20 |
| IN (A, B, C) | 목록 내에 값이 포함되어 있는지 확인 | WHERE dept IN ('영업', '인사') |
| BETWEEN A AND B | 값이 A와 B 범위 사이에 있는지 확인 (A, B 포함) | WHERE price BETWEEN 100 AND 200 |