-
1. 서브쿼리(SubQuery, 부속질의)
1) 쿼리문 내에 또 다른 쿼리문이 있는 형태
2) 서브쿼리는 메인쿼리에 포함되는 관계
- ()를 사용해 감싸는 형태
- ORDER BY를 사용하지 못함
3) 사용가능한 위치
SELECT
FROM
WHERE
HAVING
ORDER BY
VALUES
SET
4) 종류
- 단일행(Single Row) 서브쿼리
- 결과가 레코드 하나인 경우
- 일반 연산자 (=, >, <, ...) 사용
- 다중행(Multy Row) 서브쿼리
- 결과가 레코드 여러 개인 경우
- IN, EXISTS-- 가장 비싼 도서의 이름을 출력하시오 SELECT MAX(PRICE) FROM BOOK b; SELECT b.BOOKNAME FROM BOOK b WHERE PRICE = (SELECT MAX(PRICE) FROM BOOK b); -- 도서를 구매한 적이 있는 고객의 이름을 나타내시오 SELECT custid FROM ORDERS o ; SELECT NAME FROM CUSTOMER c WHERE CUSTID IN (SELECT custid FROM ORDERS o); -- 대한미디어에서 출판한 도서를 구매한 고객의 이름을 출력하시오 SELECT b.BOOKID FROM BOOK b WHERE PUBLISHER = '대한미디어'; SELECT CUSTID FROM ORDERS o WHERE BOOKID IN (SELECT b.BOOKID FROM BOOK b WHERE PUBLISHER = '대한미디어'); SELECT c.NAME FROM CUSTOMER c WHERE CUSTID IN (SELECT CUSTID FROM ORDERS o WHERE BOOKID IN (SELECT b.BOOKID FROM BOOK b WHERE PUBLISHER = '대한미디어'));
'개발자 수업 > DB' 카테고리의 다른 글
14. JDBCConnectTest (0) 2021.11.16 13. CASE (0) 2021.11.16 11. 조인 (0) 2021.11.12 10. 내장함수 (0) 2021.11.11 9. SELECT2 (0) 2021.11.11