본문 바로가기
TIL

[TIL] 241109

by 좌우지간에 2024. 11. 9.

SQL강의
substr활용, 글자수가 다를경우? instr활용하여 특정문자열 찾기 ex) 이메일 도메인
조건문 if와 case활용으로 새로운 카테고리 만들기(user segmentation)
예시1)

SELECT case when price < 5000 then '1'
			when price <15000 then '2'
			else '3' end '음식단가',
	   case when cuisine_type = 'korean' then '한식'
			when cuisine_type in ('japanese','chinese','thai','vietnamese','indian') then '아시아식'
			else '기타' end '음식종류',
	   restaurant_name
FROM food_orders fo
order by 2 desc

 
 
 
 
예시2) concat과 같이 활용하면 여러 조건문을 한 카테고리안에 엮을수 있다

SELECT concat(case when price < 5000 then '저렴한'
			       when price < 15000 then '적당한'
			       else '비싼' end,
			  ' ',
			  case when cuisine_type = 'korean' then '한식'
			       when cuisine_type in ('japanese','chinese','thai','vietnamese','indian') then '아시아식'
			       else '기타' end) as '음식단가와 종류',
	   restaurant_name
FROM food_orders fo

 
 
예시3)정확히는 레스토랑별 평균금액을 비교해야할거같아서 다시작성

SELECT restaurant_name,
	   avg(price) '레스토랑별 평균주문금액',
	   concat(case when price < 5000 then '저렴한'
			       when price < 15000 then '적당한'
			       else '비싼' end,
			  ' ',
			  case when cuisine_type = 'korean' then '한식'
			       when cuisine_type in ('japanese','chinese','thai','vietnamese','indian') then '아시아식'
			       else '기타' end) as '음식단가와 종류'
from food_orders fo 
group by 1
order by 1

 
 
 

'TIL' 카테고리의 다른 글

[TIL] 241112  (2) 2024.11.12
[TIL] 241111  (1) 2024.11.11
[TIL] 241110  (1) 2024.11.10
[TIL] 241108  (2) 2024.11.08
[TIL] 241105  (3) 2024.11.05