2024. 3. 27. 17:40ㆍTIL
서브쿼리: 쿼리 안의 쿼리
사용 이유: 여러 연산 등이 들어가면 복잡해질 수 있는 부분을 서브쿼리가 구조화시키고 구분할수 있게 도와줌
(
select restaurant_name, avg(price/quantity) price_per_plate
from food_orders
group by 1
) a 라는 서브쿼리에서 avg(price/quantity) 의 계산식을 price_per_plate라는 별명으로 넣어주고
그 서브쿼리를 포함하는 서브쿼리 b 에서 price_per_plate의 값에 따른 값들(0.005,0.01,0.02)을 ratio_of_add 라는 별명으로 넣어준다. 결과적으로 from은 조회하고싶은 테이블을 불러오는것이므로 food_orders-> (restaurant_name,price_per_plate) 순으로 불러와지므로
select restaurant_name, price_per_plate*ratio_of_odd from (restaurant_name,price_per_plate) from food_orders
순으로 데이터가 계산된다고 볼수 있음 이처럼 서브쿼리를 이용하면 복잡한 연산을 간편하게 정리할수 있다.
필요한 데이터가 서로 다른 테이블에 있을때는 JOIN을 사용한다
LEFT JOIN 예시:
왼쪽에 있는 food_orders 테이블을 orders.id 컬름을 기준으로 payments의 테이블을 합친다. LEFT JOIN을 사용했기때문에 NULL 값이 존재하는것을 알수 있다
INNER JOIN 예시:
INNER JOIN을 사용했기때문에 LEFT JOIN과는 달리 LEFT JOIN을 사용했을시에 NULL이 들어있는 데이터는 조회되지 않는다
'TIL' 카테고리의 다른 글
GITHUB의 기초 문법 (0) | 2024.04.15 |
---|---|
2024-03-29(SQL) (1) | 2024.03.29 |
2024-03-26(SQL) (0) | 2024.03.26 |
2024-03-25(SQL) (0) | 2024.03.25 |
2024-03-22(SQL) (0) | 2024.03.22 |