총 10분 중 11분
2001
시즌 2개, 그리고 영화
시즌 2:
5화
“아일랜드”
출연: 이나영, 김민준, 김민정, 현빈
장르: 애초에 역경을 딛고 이룩하는 숭고한 사랑이란 없다. 그 역경 자체가 사랑이다.
프로그램 특징: 그 곳에서 살아남는 사랑이 어떤 모습으로 걸어오는지 기다려 보고 싶다.
장르: 애초에 역경을 딛고 이룩하는 숭고한 사랑이란 없다. 그 역경 자체가 사랑이다.
프로그램 특징: 그 곳에서 살아남는 사랑이 어떤 모습으로 걸어오는지 기다려 보고 싶다.
회차
Computer Science/DataBase
[데이터베이스] 서브쿼리
728x90
반응형
쿼리(select ~) 안에 또 쿼리(select from ~ ) 형식을 가지는 것을 서브쿼리라 한다.
즉, JOIN처럼 값을 가져오기 위함인데 가상의 테이블을 만든다고 생각하면 된다.
‼️ 모든 서브쿼리는 괄호() 안에 포함되어야 한다.
- select, from, where 절에서 사용 가능
- Scalar subquery : 단일값
- Select, where, having
- Table subquery : 테이블이 반환
- From절에서 사용되는데 별칭 필수 => INLINE VIEW
- Correlated subquery : 메인 쿼리의 각 행을 참조하여 수행
- Where에서 사용
Scalar subquery
SELECT productName,buyPrice
FROM products
WHERE buyPrice > (SELECT AVG(buyPrice) FROM products);
집계함수(avg)로 단일값 반환한다. where이 붙어있으면 조건에 맞는 값을 모두 반환하니 단일값이 아닐 가능성이 높음!
Table subquery
SELECT customerNumber,order_count
FROM
(SELECT customerNumber,
COUNT(orderNumber) AS order_count
FROM orders
GROUP BY customerNumber) AS subquery
WHERE order_count >= 5;
‼️ from 절 안에 있는 서브쿼리가 As 로 alias를 가지는 것 확인!!
Correlated subquery
SELECT c.customerName, o.orderDate
FROM customers c, orders o
WHERE c.customerNumber = o.customerNumber
AND o.orderDate = (SELECT MAX(orderDate)
FROM orders
WHERE customerNumber = c.customerNumber);
상관(연관) 서브쿼리는 메인 쿼리의 각 행에 대해 별도로 실행되므로, 메인쿼리 행 개수만큼 반복 실행한다. 또한, 메인 쿼리의 열을 참조하므로 메인 쿼리 현재 행에 따른 값 반환도 가능하다.
메인 쿼리의 값을 참조하기 때문에 ‼️ FROM 절에는 correlated 서브쿼리 사용이 불가능하다. 독립적으로 실행되어야 하기 때문!!
더보기
메인 쿼리의 매 행에 대해 실행된다는 뜻은, 메인쿼리에서 where customerNumber 값이 103이면 서브쿼리 where 절의 c.customerNumber에 103이 참조되어 서브쿼리가 실행된다는 것이다. 즉, 각각의 customerNumber 행에 대해 서브쿼리가 실행된다.
728x90
'Computer Science > DataBase' 카테고리의 다른 글
[데이터베이스] WITH구문 : CTE (0) | 2025.03.08 |
---|---|
[데이터베이스] window 함수 (0) | 2025.03.08 |
관계 데이터 모델 기본 개념과 제약 조건 (2) | 2024.10.23 |
[관계 대수] 관계 연산자 (8) | 2024.10.23 |
[SQL] SELECT, INSERT, DELETE, UPDATE (4) | 2024.10.23 |
2025:03:08
Computer Science/DataBase
[데이터베이스] 서브쿼리