SQL 작업을 하다 보면, 단일 쿼리로는 해결하기 어려운 복잡한 문제들을 마주하게 됩니다. 이럴 때 서브쿼리를 사용하여 문제를 효과적으로 해결할 수 있습니다. 서브쿼리는 큰 쿼리 안에서 동작하는 또 다른 쿼리로, 데이터 처리와 분석을 보다 유연하게 할 수 있게 도와줍니다. 여기 몇 가지 서브쿼리가 필요한 상황을 살펴보겠습니다
Subquery 문의 기본 구조
select column1, special_column
from
( /* subquery */
select column1, column2 special_column
from table1
) a
복잡한 연산을 Subquery 로 수행하기
[실습] 음식점의 총 주문수량과 주문 금액을 연산하고, 주문 수량을 기반으로 수수료 할인율 구하기
SELECT restaurant_name,총가격,총수량,
case when '총수량'<10 then 0.1
when '총수량'>15 and '총가격'>300000 then 0.5
ELSE 0.01
END '수수료'
from
(
SELECT restaurant_name,quantity,price,
SUM(price) '총가격',
SUM(quantity) '총수량'
FROM food_orders fo
group by 1
) a
주의해야할 점
1. ","의 배치를 신경쓰자
2. query를 작성중에도 수시로 확인하여 에러를 확인해야한다.
필요한 데이터가 서로 다른 테이블에 있을 때 조회하기 (JOIN)
'내일배움캠프 > SQL' 카테고리의 다른 글
SQL-마지막 수업 (0) | 2024.01.17 |
---|---|
SQL-실습 (1) | 2024.01.13 |
SQL-문자열 함수(REPLACE, SUBSTR, CONCAT) (0) | 2024.01.11 |
SQL-데이터 조회와 엑셀 함수 적용 (0) | 2024.01.11 |
SQL-DBeaver 사용, (between,in,like) (2) | 2024.01.11 |