본문 바로가기
TIL

[TIL] SQL과 기본 쿼리 2

by 쾌횽 2023. 12. 26.
반응형

🥳 Replace,  Substr, Concat

  • Replace - 특정한 컬럼의 값을 바꿀 수 있다.replace(바꿀 컬럼, 현재 값, 바꿀 값)
select pay_type,
	   replace(pay_type, 'card', '카드') Card_to_Korean
from payments

 

  • Substr - 특정 문자만 골라서 조회할 수 있다.
    substr(조회할 칼럼, 시작 위치, 글자 수)
select addr,
	   substr(addr, 1, 2)
from food_orders

food_orders칼럼에서 주소인 addr의 값을 첫번째 부터 두개의 글만 남긴다.

 

  • Concat - 여러 칼럼의 값을 하나로 합칠 수 있는 기능이다.
    concat(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, ...)
select restaurant_name "원래 이름",
	   addr "원래 주소",
	   concat('[',substr(addr, 1, 2),']', restaurant_name) "바뀐 이름"
from food_orders
where addr like '%서울%'

food_orders칼럼에서 대괄호 안에 주소의 두글자를 뽑아내고, restaurant_name과 합쳐준다.

 

🥳 IF, CASE

if - 조건에 맞는 값을 조회할 수 있다.

select pay_type,
	   if(pay_type='card', '카드', '현금') "결제타입"
from payments

pay_type이 'card'라는 조건이 맞으면 '카드'로 표시하고, 아니면 '현금'으로 표시한다.

 

case - 경우수가 많을 때, case문을 사용한다.

             when절의 값이 맞으면 then을 실행한다.

select order_id,  
       restaurant_name,
       day_of_the_week,
       delivery_time,
       case when day_of_the_week='Weekday' and delivery_time>=25 then 'Late'
            when day_of_the_week='Weekend' and delivery_time>=30 then 'Late'
            else 'On-time' end "지연여부"
from food_orders

 

food_orders칼럼에서 order_id, restaurant_name, day_of_the_week, delivery_time과 함께 day_of_the_week를 조회하는데, 'weekday'의 경우와 delivery_time이 25이상이면 'Late'로 표시한다. 또한, 'weekend'의 경우와delivery_time 30이상이면 'Late'를 표시한다. 두 조건에 맞지 않는 나머지는 'On-time'으로 표시한다.

반응형

'TIL' 카테고리의 다른 글

[TIL] 스코프 (Scope)  (1) 2024.01.02
[TIL] 자바스크립트 기본 문법 숙제  (1) 2023.12.29
[TIL] SQL과 기본쿼리 3  (1) 2023.12.27
[TIL] SQL과 기본 쿼리  (1) 2023.12.22
[TIL] 자바스크립트와 제이쿼리  (2) 2023.12.21

댓글