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
반응형
'DB > 이론 및 개념' 카테고리의 다른 글
[day_07] DB / 12. 기본 SQL 7 - JOIN 조인 (inner join, outer join, cross join, self join) (2) | 2020.08.13 |
---|---|
[day_06] DB / 11. ERD (Entity Relationship Diagram) - Foreign Key 외래키 (0) | 2020.08.13 |
[day_05] DB / 09. 기본 SQL 6 - Sub Query 서브쿼리, GROUP BY, HAVING (0) | 2020.08.12 |
[day_05] DB / 08. 기본 SQL 5 - DCL ( COMMIT, ROLLBACK ) (2) | 2020.08.12 |
[day_04] DB / 07. JDBC Interface 를 다시 한 번 복습하자! (0) | 2020.08.11 |