[SQL] WHERE 절과 여러가지 연산자

INSERT 를 제외한 DML 문을 수행할 때 원하는 데이터만 골라 수행할 수 있도록 해주는 구문이다.
Hi's avatar
Aug 06, 2024
[SQL] WHERE 절과 여러가지 연산자

💡
INSERT 를 제외한 DML 문을 수행할 때 원하는 데이터만 골라 수행할 수 있도록 해주는 구문이다.
 
 

✅ 1. WHERE절 사용 예시

// SELECT SELECT * FROM user WHERE name = 'John'; // UPDATE UPDATE user SET age=30 WHERE name = 'John'; // DELETE DELETE FROM user WHERE name = 'John';
 

✅ 2. 비교 연산자

💡
어떤 값이 같은지, 큰지, 작은지 등을 비교할 때 쓰인다.
 
연산자
의미
예시
=
같음
where col = 10
<
작음
where col < 10
<=
작거나 같음
where col <= 10
>
where col > 10
>=
크거나 같음
where col >= 10
 

✅ 3. 부정 비교 연산자

💡
어떤 값이 다른지 비교할 때 쓰인다.
 
연산자
의미
예시
!=
같지 않음
where col != 10
^=
같지 않음
where col ^= 10
<>
같지 않음
where col <> 10
not 컬럼명 =
같지 않음
where not col = 10
not 컬럼명 >
크지 않음
where not col > 10
 

✅ 4. SQL 연산자

💡
SQL 문법을 활용한 비교 방법이다.
 
연산자
의미
예시
BETWEEN A AND B
A와 B의 사이인지 (A와 B도 포함)
where col between 1 and 10
LIKE ‘비교할 문자열’
- 비교 문자열을 포함하는지 - %는 여러 문자를 의미 - _는 문자 하나를 의미 - % 혹은 _가 포함된 문자열을 검색하려면 ESCAPE를 사용해야 함.
where col like ‘방탄%’ where col like ‘%소년단’ where col like ‘%탄소년%’ where col like ‘방_소%’ where col like ‘%#%%’ escape ‘#’
IN (비교할 리스트)
리스트 중 하나와 일치하는지
where col in (1, 3, 5)
IS NULL
NULL 값인지
where col is null
IS NOT NULL
NULL 값이 아닌지
where col is not null
 

✅ 5.부정 SQL 연산자

💡
SQL 문법을 활용한 부정 비교 방법이다.
 
연산자
의미
예시
NOT BETWEEN A AND B
A와 B의 사이가 아닌지 (A와 B 미포함)
where col not between 1 and 10
NOT IN (비교할 리스트)
리스트 중 일치하는 것이 없는지
where col not in (1, 3, 5)
IS NOT NULL
NULL 값이 아닌지
where col is not null
 

✅ 6. 논리 연산자

💡
AND, OR, NOT 과 같은 논리 연산자이다.
작성된 순서와 관계 없이 ( ) → NOT → AND → OR 순서대로 처리된다.
 
연산자
의미
예시
AND
모든 조건이 참이어야 함
where col>1 and col<10
OR
하나 이상의 조건이 참이어야 함
where col=1 or col=10
NOT
참을 거짓으로, 거짓을 참으로 변환
where not col>10
 

☑️ 진리 연산표

아래에 정답이 있으니 한 번 스스로 생각해보고 답을 확인해보자!
 
<AND 진리 연산표>
AND
TRUE
FALSE
NULL
TRUE
FALSE
NULL
 
<OR 진리 연산표>
AND
TRUE
FALSE
NULL
TRUE
FALSE
NULL
 
<NOT 진리 연산표>
AND
TRUE
FALSE
NULL
TRUE
 
 
 
 
 

☑️ 진리 연산표 정답

AND 연산은 FALSE > NULL > TRUE 순서대로 강하며, OR 연산은 TRUE > NULL > FALSE 순서대로 강하다.
<AND 진리 연산표>
AND
TRUE
FALSE
NULL
TRUE
TRUE
FALSE
NULL
FALSE
FALSE
FALSE
FALSE
NULL
NULL
FALSE
NULL
 
<OR 진리 연산표>
OR
TRUE
FALSE
NULL
TRUE
TRUE
TRUE
TRUE
FALSE
TRUE
FALSE
NULL
NULL
TRUE
NULL
NULL
 
<NOT 진리 연산표>
NOT
TRUE
FALSE
NULL
TRUE
FALSE
TRUE
NULL
 
Share article

soultree