개주 훈련일지/📚 코살대 교본 학습

SQL) WHERE절

lshfood2 2026. 1. 12. 21:26

[ 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