SQL/DB Essentials - CH09
서브쿼리
-
SELECT 문 안에 포함되는 SELECT 문
- SELECT 절
- FROM 절
- WHERE 절
- HAVING 절
- ORDER BY 절
- INSERT 문의 VALUES 절
- UPDATE 문의 SET 절
-
질의문과 갱신문 둘 다 사용가능
-
메인쿼리에서 서브쿼리를 참조할 수 없음
-
단일값, 다중값, 다중행으로 나뉨
-
비연관, 연관 서브쿼리로 구분 가능
사례 1. 비연관, 단일값
SELECT name 상품명, MSRP '권장 소비자가격'
FROM products
WHERE MSRP >=(
SELECT AVG(MSRP) * 2
FROM products
)
ORDER BY MSRP;
사례 2. 비연관, 다중값
SELECT officeCode, city
FROM offices
WHERE officeCode = ANY (
SELECT officeCode
FROM employees
WHERE lastName = 'Patterson'
)
ORDER BY officeCode;
사례 3. 비연관, 다중행
SELECT productLine 상품라인, name 상품명, MSRP 소비자가격
FROM products
WHERE (productLine, MSRP) IN (
SELECT productLine, MIN(MSRP)
FROM products
GROUP BY productLine
)
ORDER BY productLine, name;
사례 4. 연관, 단일값
SELECT productLine 상품라인, name 상품명, MSRP 소비자가격
FROM products X
WHERE MSRP = (
SELECT MIN(MSRP)
FROM products Y
WHERE Y.productLine = X.productLine
)
ORDER BY productLine, name;
사례 5. 연관, 다중값
SELECT name
FROM customers C
WHERE customerId = ANY (
SELECT customerId
FROM orders O
WHERE O.customerId = C.customerId AND
O.status IN (‘Cancelled', 'On Hold')
);
사례 6. 연관, 다중행
SELECT name
FROM customers C
WHERE EXISTS (
SELECT *
FROM orders O
WHERE O.customerId = C.customerId AND
YEAR(orderDate)=2003 AND MONTH(orderDate)=1
);
Author And Source
이 문제에 관하여(SQL/DB Essentials - CH09), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lsa3163/SQLDB-Essentials-CH09저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)