subQuery_db
2022. 1. 19. 15:04ㆍksmart_dbms/데이터베이스 이론
728x90
SQL문 내에서 하위에 존재하는 쿼리 ( SQL문 안에 SQL )
SELECT
ROUND(AVG(g.g_price), 0) AS '평균단가'
FROM
tb_goods AS g
0번째 자리까지 반올림
SELECT
*
FROM
tb_goods AS g
WHERE
g.g_price > 178786;
SELECT
round(avg(g.g_price),0) AS '평균단가'
FROM
tb_goods AS g;
SELECT
*
FROM
tb_goods AS g
WHERE
g.g_price>(SELECT
round(AVG(g1.g_price),0) AS '평균단가'
FROM
tb_goods AS g1);
스칼라 서브쿼리
SELECT문에 있는 서브쿼리( 1행만 반환)
SELECT
g.g_name,
g.g_price
FROM
(SELECT
*
,(SELECT
round(AVG(g_price),0) AS avg_price
FROM
tb_goods) AS avg_price
FROM
tb_goods) AS g
WHERE
g.g_price > g.avg_price;
인라인 뷰
FROM 절에 있는 서브쿼리
SELECT
g.g_name,
g.g_price
FROM
tb_goods AS g
JOIN
(SELECT
round(AVG(g_price),0) AS avg_price
FROM
tb_goods) AS g1
WHERE
g.g_price > g1.avg_price;
서브쿼리
WHERE 절에 있는 서브쿼리
단일 행 서브쿼리
다중 행 연산자
IN | 리턴되는 값 중에서 조건에 해당하는 값이 있으면 참 서브쿼리 결과가 여러 개 Ex:) m.m_level = 1 or m.m_level = 2 or m.m_level = 3 |
ANY, SOME | or 서브쿼리에 의해 리턴되는 각각의 값과 조건을 비교하여 하나 이상을 만족하면 참 |
ALL | and 값을 서브쿼리에 의해 리턴되는 모든 값과 조건 값을 비교하여 모든 값을 만족해야만 참 |
EXISTS | 메인 쿼리의 비교 조건이 서브쿼리의 결과 중에서 만족하는 값이 하나라도 존재하면 참 |
728x90
'ksmart_dbms > 데이터베이스 이론' 카테고리의 다른 글
DML 실습_db (0) | 2022.01.19 |
---|---|
SQL_db (0) | 2022.01.17 |
데이터베이스_db (0) | 2022.01.17 |