본문 바로가기
SQL

2018-03-07 SQL

by Minius 2018. 3. 7.
반응형

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

댓글