반응형
MySQL에서 IN은 특정 값이 들어있을 경우에만
조회하려는 경우 사용하는데
WHERE 컬럼명 IN ('값', '값')
WHERE 컬럼명 IN (SELECT절)
위와 같은 식으로 값을 여러개 넣어주거나
SELECT 절을 넣어 사용하게 된다
NOT IN은 IN과 반대로
특정 값이 들어있지 않은 값들만 조회하게 되는데
WHERE 컬럼명 NOT IN ('값', '값')
WHERE 컬럼명 NOT IN (SELECT절)
이런 식으로 사용하는데
IN 앞에 NOT만 붙여준다는 것만 빼면
사용법은 동일하다
위 예제를 보면
NAME IN ('철수', '수철') 은
NAME이 철수, 수철인 값만 출력되고
NAME NOT IN ('영희', '수철') 은
NAME이 영희, 수철인 값을 빼고 출력하게 된다
마지막으로 예제에 사용한 쿼리는 아래와 같다
WITH TBL AS
(
SELECT '철수' AS NAME
UNION ALL
SELECT '수철' AS NAME
UNION ALL
SELECT '영희' AS NAME
)
-- NAME이 철수, 수철인 값만 조회
SELECT *
FROM TBL
WHERE NAME IN ('철수', '수철');
-- NAME이 영희, 수철이 아닌 값만 조회
SELECT *
FROM TBL
WHERE NAME NOT IN ('영희', '수철');
-- IN에 SELECT문이 들어올 수 있음
SELECT *
FROM TBL
WHERE NAME IN (SELECT '영희');
반응형
'SQL > MySQL' 카테고리의 다른 글
MySQL 스키마별 전체 테이블 행(ROW) 갯수 확인방법 (0) | 2021.02.01 |
---|---|
MySQL 함수(Function) 만들기부터 조회까지 정리글 (1) | 2021.01.25 |
MySQL Access Denied for User 'root'@'localhost' (using password: YES) 에러 해결방법 (0) | 2021.01.22 |
MySQL SLEEP 함수 사용방법 및 사용이유 (0) | 2021.01.22 |
MySQL IFNULL IF CASE 예제 및 사용방법 (0) | 2021.01.21 |
댓글