본문 바로가기
카테고리 없음

[TIL]SQL 4주차- subquery, left join, inner join

by Byeong 2024. 3. 31.


subquery

 

select, from 안에 select, from이 있는 구조 이다.  

아래와 같은 구조 이다. 

selet column
from 
(
select column
from tavle
) a

 

이런 식의 구조로 이중으로 query가 작성된 것이다. 

생각보다 어렵다고 느낄수 있다.  하지만  여러번의 연산을 수행하는 경우와 조건문의 연산 결과를 사용해야 할 때, 조건의 Query결과를 사용하고 싶을 경우가 있다. 

 아니의 query로 작성하게 된다면 너무 지저분해지고 어려워 지는데 subquery를 이용한다면 깔끔하게 작성이 가능하다.

 

쉽게 (A+B)*C 라고 생각하고 ( )안의 값을 먼저 더하듯 query 문도 같은 방법이라고 생각하면 된다.

SELECT sido,
	   cuisine_type,
	   count_ras,
	   CASE WHEN count_ras >= 5 THEN  IF(total_quantity  < 30 ,0.0008 ,0.0005)
	   		else  IF(total_quantity  < 30 ,0.02 ,0.01)
	   		END '수수료'
FROM
(
SELECT SUBSTR(addr, 1, 2) sido,
	   cuisine_type,
	   sum(quantity) total_quantity,
	   COUNT(DISTINCT restaurant_name) count_ras
FROM  food_orders
GROUP BY 2
) a

 

 

join 

 

left join 

 

inner join