조건을 만족하는 행 선택
WHERE 절은 각 행에 조건식을 적용해 결과에 남길 행을 선택합니다. 비교 연산자는 숫자·문자·날짜 값을 비교하고, 자료형이 다르면 DBMS의 형 변환 규칙이 적용될 수 있습니다.
- 비교 연산자같음·다름·크기= <> != ^= > >= < <=
- 논리 연산자조건 결합·부정AND · OR · NOT
- 범위·목록구간과 후보 값BETWEEN · IN
- 패턴·NULL문자 모양과 값의 부재LIKE · IS NULL
이 단원의 예제는 모두 아래 문화 프로그램 8건을 씁니다. PROMO_CODE가 NULL이면 할인 코드가 등록되지 않았다는 뜻입니다(빈 문자열이나 0이 아님).
| PROGRAM_ | PROGRAM_ | CITY | CATEGORY | FEE | PROMO_ |
|---|---|---|---|---|---|
| 101 | 달빛 산책 | 서울 | 산책 | 30000 | NULL |
| 102 | 숲길 산책 | 부산 | 산책 | 45000 | EARLY |
| 103 | 별빛 사진교실 | 서울 | 교육 | 50000 | NULL |
| 104 | 50% 특가 공연 | 대전 | 공연 | 65000 | SALE50 |
| 105 | 가을 산책 | 부산 | 산책 | 50000 | NULL |
| 106 | 밤하늘 공연 | 서울 | 공연 | 25000 | NIGHT |
| 107 | 도자기 체험 | 대전 | 체험 | 40000 | NULL |
| 108 | 숲속 공연 | 부산 | 공연 | 20000 | NULL |
조건이 열과 상관없는 상수끼리의 비교여도 문법상 문제가 없습니다. WHERE 1 = 0은 모든 행에서 FALSE라 0행이 나오고, WHERE 1 = 1은 모든 행이 나옵니다. 참고: 데이터 없이 구조만 복사할 때 CREATE TABLE 새테이블 AS SELECT * FROM 원본 WHERE 1 = 0처럼 씁니다.