where 과 함께 사용하는 조건 연산자(and, or, in, not, like)

Created by
  • 서경태
Created at
SQL에서 where 조건절에 사용하는 조건 연산자는 굉장히 다양하다.
이 포스팅에서는 좀 더 세부적으로 정리하고 필요할때 찿아보도록 하자.
1.
비교 연산자
우리가 보통 사용하는 =, <, <> 등이 해당한다. 종류로는 아래와 같다.
= : 두 값이 같은지 비교
<> or != : 두 값이 다른지 비교
>, > =, <, < = : 값의 크기를 비교
2.
논리 연산자
and : 두 조건이 모두 참이면 ok
or : 두 조건 중 하나만 참이면 ok
not : 조건의 반대를 의미
3.
범위 연산자
between : 특정 범위 내에 있는지 확인
not between : 특점 범위 내에 없는지 확인
4.
집합 연산자
in : 값 목록들 중 포함이 되는지 확인
not in : 값 목록들 중 포함이 안되는지 확인
5.
패턴 매칭 연산자
like : 지정된 패턴과 일치하는지 검사
J% : J로 시작하면 ok
%J : J로 끝나면 ok
%J% : J가 들어가면 ok
6.
NULL 검사 연산자
is null : 값이 null인지 확인
is not null : 값이 null이 아닌지 확인
7.
기타 연산자
exists : 서브쿼리가 하나 이상의 행을 반환하는지 검사
any : 서브쿼리의 결과 집합 중 하나 이상의 값과 비교
all : 서브쿼리의 모든 결과 집합과 비교
쓰다 보니 너무 많아 보이지만 자주 사용하는 것은 금방 익히기도 한다.
중요한 것은 이 조건 연산자들을 조합해서 사용하는 것도 가능하다.
where a < 0 and b >0
그리고 in 연산자 안에는 값 뿐만 아니라 또 쿼리가 좀 더 세부적인 조합이 가능하다.
🖥️
SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES
FROM REST_INFO
WHERE (FOOD_TYPE, FAVORITES)
IN (
SELECT FOOD_TYPE, MAX(FAVORITES)
FROM REST_INFO
GROUP BY FOOD_TYPE
)
ORDER BY FOOD_TYPE DESC;
생각의 폭을 넓히기 위해 예시를 적어보았다.