[ WHERE절 ]
SELECT문 사용 시 사용자들은 대부분의 경우
자신이 원하는 자료만을 검색하기 위해 WHERE절을 이용하여
출력 데이터의 행을 제한(필터처리)한다.
WHERE절 사용 시 일반적으로
조회 대상이 되는 칼럼은 좌측에 위치하며
입력값은 우측에 위치한다.
[ 연산자의 종류 ]
비교 연산자
SQL 연산자
논리 연산자
부정 연산자
비교 연산자
숫자 값 혹은 문자 값의 크기를 비교하는데 사용
| 연산자 | 의미 |
| = | ~와 같다 |
| > | ~보다 크다 |
| >= | ~보다 크거나 같다 |
| < | ~보다 작다 |
| <= | ~보다 작거나 같다 |
SQL 연산자
SQL문에서 사용하도록 기본적으로 예약되어 있다.
| 연산자 | 의미 |
| BETWEEN A AND B | A와 B 사이에 있으면 된다. |
| IN (리스트) | 리스트에 있는 값 중 하나라도 있으면 된다. |
| LIKE '비교문자열' | 비교문자열의 형태와 일치하면 된다. (와일드카드 사용) |
| IS NULL | 값이 NULL이면 된다. |
| IS NOT NULL | 값이 NULL이 아니면 된다. |
와일드카드
%(퍼센트) : 0개 이상의 어떤 문자를 의미
_(언더바) : 1개의 단일 문자를 의미
-- 예시
-- 1) 샘플 데이터
CREATE TABLE t_word (
w VARCHAR(20)
);
INSERT INTO t_word (w) VALUES
('A'),
('AB'),
('ABC'),
('XABY'),
('ZAB'),
('A_B'),
('100%');
-- 2) % : 0글자 이상 아무 문자열
-- 'A'로 시작하는 모든 값 (A 자체도 포함됨)
SELECT w FROM t_word
WHERE w LIKE 'A%';
-- 결과: A, AB, ABC, A_B
-- 3) _ : 정확히 1글자
-- 'A' 다음에 딱 1글자만 있는 값
SELECT w FROM t_word
WHERE w LIKE 'A_';
-- 결과: AB (A는 불가 / ABC는 글자수 초과라 불가)
-- 4) % vs _가 확 갈리는 예
-- 'A' + (최소 1글자) + (그 뒤는 아무거나)
SELECT w FROM t_word
WHERE w LIKE 'A_%';
-- 결과: AB, ABC, A_B (A는 불가)
-- 5) 가운데 'AB' 포함 여부 비교
-- %는 앞뒤 길이 제한 없음
SELECT w FROM t_word
WHERE w LIKE '%AB%';
-- 결과: AB, ABC, XABY, ZAB
-- _는 딱 1글자 + AB + 딱 1글자 (총 4글자 고정)
SELECT w FROM t_word
WHERE w LIKE '_AB_';
-- 결과: XABY (앞 1글자 + AB + 뒤 1글자 형태만)
논리 연산자
비교 연산자 혹은 SQL 연산자로 이루어진 여러 개의 조건들을
논리적으로 조합하기 위해서 사용하는 연산자다.
| 연산자 | 의미 |
| AND | 앞 조건과 뒤 조건이 모두 참 |
| OR | 앞 조건과 뒤 조건 중 하나라도 참 |
| NOT | 조건이 거짓이면 된다 |
부정 연산자
비교 연산자의 부정표현은 부정 비교 연산자로 할 수 있고
SQL 연산자의 부정표현은 부정 SQL 연산자로 할 수 있다.
▼ 부정 비교 연산자
| 연산자 | 의미 |
| != | 같지 않다. |
| <> | 같지 않다. |
| ^= | 같지 않다. |
| NOT 칼럼명 = | ~칼럼의 값이 ~와 같지 않다. |
| NOT 칼럼명 > | ~칼럼의 값이 ~보다 크지 않다. |
| NOT 칼럼명 < | ~칼럼의 값이 ~보다 작지 않다. |
▼ 부정 SQL 연산자
| 연산자 | 의미 |
| NOT BETWEEN A AND B | A와 B의 값 사이에 있지 않다. |
| NOT IN (LIST) | 같지 않다. |
| IS NOT NULL | NULL 값이 아니다. |
[ ROWNUM ]
특정 테이블에서 데이터가 조회될 때 출력되는
행의 순번을 의미하는 Pseudo 칼럼이다.
예) WHERE ROWNUM <=10
→ 테이블 내 데이터 10건만 출력
'개주 훈련일지 > 📚 코살대 교본 학습' 카테고리의 다른 글
| SQL) GROUP BY, HAVING절 (1) | 2026.01.13 |
|---|---|
| SQL) 함수 (0) | 2026.01.12 |
| 모델링 (0) | 2026.01.10 |
| SQL) TCL (Transaction Control Language) (0) | 2026.01.09 |
| 요구 모델링 (0) | 2026.01.08 |