▶학습내용
1. Subquery
여러번의 연산을 수행해야 하거나 , 조건문에 연산 결과를 사용하거나, 조건에 Query 결과를 사용하고 싶을 때 Subquery를 통해서 SQL문으로 수행 할 수 있다.
예시) 음식 준비 시간이 25분보다 초과한 시간 가져오기 (table: food_orders)
select restaurant_name,
order_id,
if( over_time>0, over_time, 0) as over_time
from
(
select restaurant_name,
order_id,
food_preparation_time-25 as over_time
from food_orders
) a
이와같이 하나의 Query 문을 작성하여 컬럼을 만들고 그결과값을 테이블로 사용하여 새로운 값을 출력 할 수 있게 되는것이 subquery 이다 !
2. case when 절의 작동 순서
case when level>=10 then '1~10Lv이하'
when level>=20 then '11~20Lv이하'
-> 첫번째 구문 10이하의 값들이 정리 되고 난 후에 나머지 값들에서 2번째구문이 출력된다!
3. IN, LIKE 연산자 사용
IN 은 테이블안의 값을 정확히 입력하여 해당하는 값만 출력하는거고 ()괄호를 꼭 해주어야 한다.
where name in ('김혜미') 이경우 ,
김혜미 안녕 -> 이러한 문자열이 있다면 집계안됨!
LIKE 는 테이블에 출력하려고하는 값이 포함되기만 하면 출력 된다!
where name like '김혜미' 이경우 ,
김혜미 안녕 -> 이러한 문자열이 있다면 집계됨!
▶ 오늘 느낀점
subquery 를 통해서 복잡한 연산이나 조건문을 계속해서 사용하고 값을 출력 할 수있다는게 흥미로웠지만 어려웠다.
▶오늘의 회고
복습 많이하자!