ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 12. 서브쿼리
    개발자 수업/DB 2021. 11. 12. 17:46

    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

    댓글