본문 바로가기

데이터베이스/MySQL

서브쿼리(Sub Query)

  서브쿼리(Sub Query)

서브쿼리란 SQL 문 내에서 하위에 존재하는 쿼리이다. (SQL문 안에 SQL문이 존재한다는 의미.)

쿼리 안에 쿼리가 존재한다.
Ctrl+F9 로 부분 실행

 

▶ 서브쿼리의 종류

 - 인라인 뷰 (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