WHERE절
- 특정 조건을 만족하는 행만을 대상으로 연산을 수행한다.
- SELECT 뿐만 아니라 UPDATE, DELETE에도 사용할 수 있으나 INSERT에는 사용할 수 없다.
- FROM절을 먼저 수행하므로 FROM절에서 정의한 테이블에 대한 별명은 사용할 수 있으나 SELECT절에서 정의한 칼럼에 대한 별명은 사용할 수 없다.
비교 연산자
- 단일행 비교연산자
- 비교 대상이 단일행인 경우로 두 값이 같은지를 비교하거나, 첫 번째 값이 두 번째 값보다 작은지, 아니면 큰지를 비교하는 연산자이다. Null 값에 대해서는 비교연산자가 동작하지 않으므로 반드시 IS NULL을 사용해야한다.
연산자 | 설명 |
= | 첫 번째 값과 두 번째 값이 같으면 참을 반환 |
< | 첫 번째 값이 두 번째 값보다 작으면 참을 반환 |
<= | 첫 번째 값이 두 번째 값보다 작거나 같으면 참을 반환 |
> | 첫 번째 값이 두 번째 값보다 크면 참을 반환 |
>= | 첫 번째 값이 두 번째 값보다 크거나 같으면 참을 반환 |
IS NULL | NULL이면 참을 반환 |
- 다중행 비교연산자
- 비교 대상이 다중행인 경우에는 복합적인 비교를 수행하는 별도의 연산자를 사용할 수 가 있다.
연산자 | 설명 |
IN | 리스트 중 동일한 값이 하나라도 있으면 참을 반환 |
EXISTS | 서브쿼리의 결과가 한 건이라도 있으면 참을 반환(EXISTS는 서브쿼리를 대상으로만 사용가능) 예)WHERE EXISTS(SELECT*FROM TBL) ->TBL테이블에 데이터가 한건이라도 존재하는가 |
ALL | 리스트 각각의 원소와 비교하여 모두 참이면 참을 반환한다. 단일행 비교 연산자와 결합하여 사용한다. |
ANY | 리스트 각각의 원소와 비교한 결과가 하나라도 참이면 참을 반환한다. 단일행 비교연산자와 결합하여 사용한다. |
부정 비교연산자
- 단일행 부정 비교연산자
- 두 값이 서로 다른지를 비교할 때 사용한다. 비교연산자와 마찬가지로 NULL 값에 대해서는 IS NOT NULL을 사용해야한다.
연산자 | 설명 |
!= | 두 값이 서로 다르면 참을 반환 |
^= | |
<> | |
IS NOT NULL | NULL 이 아니면 참을 반환 |
- 다중행 부정 비교연산자
- 다중행 비교연산자 IN과 EXISTS 앞에 NOT을 붙이면 반대의 의미가 된다. ALL과 ANY의 경우 바로 앞에는 NOT을 붙일 수 없고 전체 조건식 앞에 NOT을 붙여 부정을 나타낼 수 있다.
연산자 | 설명 |
NOT IN | 리스트 중 동일한 값이 하나도 없으면 참을 반환 |
NOT EXISTS | 서브쿼리의 결과가 한 건도 없으면 참을 반환 |
SQL연산자
연산자 | 설명 |
BETWEEN A AND B | A보다는 크거나 같고 B보다는 작거나 같으면 참을 반환 |
LIKE | 패턴문자열로 문자 검색시 사용 (패턴문자 %는 0개 이상의 문자, _는 임의의 문자 1개를 의미한다.) |
부정 SQL연산자
연산자 | 설명 |
NOT BETWEEN A AND B | A보다 작거나 B보다 크면 참을 반환 |
NOT LIKE | 패턴과 매칭되는 것이 하나도 없으면 참을 반환 |
논리연산자
연산자 | 설명 |
AND | AND로 연결된 모든 조건이 참이면 참을 반환 |
OR | OR로 연결된 조건 중에 하나가 참이면 참을 반환 |
NOT | 뒤에 오는 식의 참/거짓의 반대를 반환 |
'SQL' 카테고리의 다른 글
[스파르타코딩클럽] 엑셀보다 쉽고 빠른 SQL - 1주차 (0) | 2024.11.19 |
---|---|
[프로그래머스/SQL 고득점 Kit] 중복 제거하기 (2) | 2024.10.21 |
[프로그래머스/SQL 고득점 Kit] 어린 동물 찾기 (0) | 2024.10.21 |
[프로그래머스/SQL 고득점 Kit] 아픈 동물 찾기 (0) | 2024.10.21 |
[프로그래머스/SQL 고득점 Kit] 역순정렬하기 (0) | 2024.10.21 |