DB/이론 및 개념
[day_06] DB / 10. IN, NOT IN 연산자
파프리카_
2020. 8. 13. 12:53
728x90
반응형
IN 연산자
: 특정값이 포함되는 데이터를 조회하고자 할 때 사용하는 연산자
SELECT [columns]
FORM [table 명]
WHERE 컬럼 IN ([특정값]);
NOT IN 연산자
: 특정 값이 포함되지 않는 데이터를 조회하고자 할 때 사용하는 연산자
SELECT [columns]
FORM [table 명]
WHERE 컬럼 NOT IN ([특정값]);
사용 예제
Product TABLE
1. IN 연습
-MAKER가 '롯데', '진로', '빙그레'인 상품의 정보를 조회
방법 1)
SELECT *
FROM product
WHERE maker = '롯데' or maker = '진로' or maker = '빙그레';
방법 2) IN 적용
SELECT *
FROM product
WHERE maker IN ('롯데', '진로', '빙그레')
[ 결과 ]
2. NOT IN 연습
-MAKER가 '롯데', '진로', '빙그레'가 아닌 상품의 정보를 조회
방법 1)
SELECT *
FROM product
WHERE maker <> '롯데' and maker <> '진로' and maker <> '빙그레';
방법 2) NOT IN 적용
SELECT *
FROM product
WHERE maker NOT IN ('롯데', '진로', '빙그레')
[ 결과 ]
연습 문제 더 풀어보기
문제 1. MAKER 별 상품 수가 하나인 MAKER의 상품을 조회 (Subquery 이용)
SELECT *
FROM product
WHERE maker IN ( SELECT maker
FROM product
GROUP BY maker
HAVING COUNT(*) = 1)
[결과]
문제 2. 전체 사원의 평균 월급보다 JOB별 평균 월급이 많은 JOB의 사원의 JOB과 NAME을 조회해보자
[ EMPLOYEE TABLE ]
SELECT job, name
FROM employee
WHERE job in ( SELECT job
FROM employee
GROUP BY job
HAVING AVG(salary)> ( SELECT AVG(salary)
FROM employee)
);
[결과]
728x90
반응형