서브쿼리(Sub Query)
서브쿼리란 SQL 문 내에서 하위에 존재하는 쿼리이다. (SQL문 안에 SQL문이 존재한다는 의미.)
▶ 서브쿼리의 종류
- 인라인 뷰 (FROM)
FROM 절에 있는 서브쿼리
SELECT
g.g_code
,g.g_name
,g.g_price
,g.g_seller_id
,g.g_reg_date
FROM
tb_goods AS g
JOIN
( SELECT
ROUND(AVG(g.g_price), 0) AS '평균단가'
FROM
tb_goods AS g) AS gAvg
WHERE
g.g_price > gAvg.평균단가;
- 스칼라 서브쿼리 (SELECT)
SELECT문에 있는 서브쿼리
SELECT
g.g_code
,g.g_name
,g.g_price
,g.g_seller_id
,g.g_reg_date
FROM
(SELECT
*
,(SELECT
ROUND(AVG(gAvg.g_price),0)
FROM
tb_goods AS gAvg) AS '평균단가'
FROM
tb_goods) AS g
WHERE
g.g_price > g.평균단가;
위 쿼리는 FROM절에 인라인 뷰 안의 SELECT문에 스칼라 서브쿼리가 있다...
- 서브쿼리 (WHERE)
WHERE 절에 있는 서브쿼리
1) 단일 행 서브쿼리
서브 쿼리의 결과가 1개이다.
2) 다중 행 서브쿼리
서브 쿼리의 결과가 여러개 이다.
3) 다중컬럼 서브쿼리
서브 컬럼 결과가 여러개 이다.
'데이터베이스 > MySQL' 카테고리의 다른 글
서브쿼리 실습 (0) | 2020.04.01 |
---|---|
다중 테이블 연산 - UNION (0) | 2020.04.01 |
JOIN 실습 (0) | 2020.03.31 |
SQL의 SELECT 키워드 (0) | 2020.03.31 |
SQL 연산자 (0) | 2020.03.31 |