[SQL] WHERE 절과 여러가지 연산자
INSERT 를 제외한 DML 문을 수행할 때 원하는 데이터만 골라 수행할 수 있도록 해주는 구문이다.
Aug 06, 2024
INSERT
를 제외한 DML
문을 수행할 때 원하는 데이터만 골라 수행할 수 있도록 해주는 구문이다. ✅ 1. WHERE절 사용 예시✅ 2. 비교 연산자✅ 3. 부정 비교 연산자✅ 4. SQL 연산자✅ 5.부정 SQL 연산자✅ 6. 논리 연산자☑️ 진리 연산표☑️ 진리 연산표 정답
✅ 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