본문 바로가기
DATABASE/SQL

사전캠프3일차 - SQL 3주차

by codechu 2025. 3. 19.

1-2주차는 기본구조에 대해 공부

 

sql 기본구조 

 

select 결과를 나타낼 컬럼명, 전체를 볼려면 * 

from 테이블명

where 조건

group by (컬럼명)

order by( 오름차순 생략, 내림차순은 desc)

 

3주차는 데이터의 오류가 있어 이 오류를 수정 하고 싶다, 한 컬럼에 전체가 아닌 부분만 필요하다 ( 주소전체가 아닌 시도까지만 필요)

 

1. replace (컬럼명, '원래 글자', '수정할 글자')

2. substr (뽑아올 컬럼명, 어디서부터 뽑아올 건지 순번 , 몇개를 가지고 올 건지)

3.concat(붙이고 싶은 값1, 붙이고 싶은 값2 ...) 

 

 

이메일에 앞부분은 빼고 도메인만 불러오고 싶다.

substr( 이메일, 10, 끝까지 다 불러오고 싶다면 생략해도 됨)

 

concat 안에 substr을 넣어서 변형도 가능함.

 

 

if (조건, 조건일 때 낼 값, 조건이 아닐 때 낼 값)도 사용가능

if문은 조건을 한가지만 넣어서 사용하고 있지만 더 많은 조건을 내고 싶을 때 

case를 사용

 

case when 조건 1 then 값

         when 조건 2 then 값

        else 값

end 

 

저 조건을 줄 때 다른 함수들 사용 가능, 활용가능

 

 

select order_id,

restaurant_name,

day_of_the_week,

delivery_time,

               case when day_of_the_week='weekend' and delivery_time>=30 then 'late'

                        when day_of_the_week='weekend' and delivery_time<30 then 'On-time'

                        when day_of_the_week='weekday' and delivery_time>=25 then 'late'

                        when day_of_the_week='weekday' and delivery_time<25 then 'On-time'

                  end "지연여부"

from food_orders