IN
SELECT *
FROM BOOK
WHERE PUBLISHER IN ('굿스포츠','대한미디어');
SELECT *
FROM BOOK
WHERE PUBLISHER NOT IN ('굿스포츠','대한미디어');
WHERE_AND
SELECT *
FROM BOOK
WHERE BOOKNAME LIKE '%축구%' AND PRICE > 20000;
WHERE_OR
SELECT *
FROM BOOK
WHERE PUBLISHER='굿스포츠' OR PUBLISHER='대한미디어';
ORDER BY_DESC,ASC
SELECT *
FROM BOOK
ORDER BY PRICE DESC, PUBLISHER ASC;
집계함수 _ SUM, AVG, MIN, MAX, COUNT
GROUP BY
SELECT CUSTID, COUNT(*) AS 도서수량, SUM(SALEPRICE) AS 총액
FROM ORDERS
GROUP BY CUSTID;
HAVING
가격이 8000원 이상인 도서를 구매한 고객에 대하여 고객별 주문 도서의 총 수량을 구하시오.
단, 두 권 이상 구매한 고객만 구하시오.
SELECT CUSTID, COUNT(*) AS 도서수량
FROM ORDERS
WHERE SALEPRICE >= 8000
GROUP BY CUSTID
HAVING COUNT(*) >= 2;
HAVING<검색조건>
WHERE 절과 HAVING 절이 같이 포함된 SQL 문은 검색조건이 모호해질 수 있다.
따라서 HAVING 절은 반드시
1. GROUP BY 절과 같이 작성해야 하고
2. WHERE 절보다 뒤에 나와야 한다.
3. <검색조건>에는 SUM, AVG, MAX, MIN, COUNT 와 같은 집계함수가 와야 한다.
'SQL' 카테고리의 다른 글
INDEX (0) | 2018.03.08 |
---|---|
View (0) | 2018.03.08 |
SQL 연습문제 답 (0) | 2018.03.06 |
[SQL] DDL, DML이란? (0) | 2018.03.05 |
[SQL] p.193 연습문제 (0) | 2018.03.02 |
댓글