REPLACE: 특정 문자를 다른 문자로 바꾸는 함수
-- 기본 구조
REPLACE (바꿀 컬럼, 현재 값, 바꿀 값)
-- 예시 구문
select restaurant_name "원래 상점명",
replace(restaurant_name, 'Blue', 'Pink') "바뀐 상점명"
from food_orders
where restaurant_name like '%Blue Ribbon%'
SUBSTRING 또는 SUBSTR : 특정 문자만 골라서 조회하는 함수
-- 기본 구조
SUBSTR(조회할 컬럼, 시작 위치, 글자 수)
-- 예시 구분
select addr "원래 주소",
substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'
Concat: 여러 컬럼의 문자를 합치는 함수
-- 기본 구조
CONCAT(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, ...)
-- 예시 구문
select restaurant_name "원래 이름",
addr "원래 주소",
concat('[', substring(addr, 1, 2), '] ', restaurant_name) "바뀐 이름"
from food_orders
where addr like '%서울%'
서울 지역의 음식 타입별 평균 음식 주문 금액 구하기 (출력: ‘서울’, ’타입’, ’평균 금액’)
SELECT SUBSTR(addr,1,2) "지역"
, cuisine_type "음식 타입"
, AVG(price) "평균 금액"
FROM food_orders fo
WHERE addr LIKE '%서울%'
GROUP BY 2 -- 2번째 컬럼을 기준으로 그룹
이메일 도메인별 고객 수와 평균 연령 구하기
select substring(email, 10) "도메인",
count(customer_id) "고객 수",
avg(age) "평균 연령"
from customers
group by 1
‘[지역(시도)] 음식점 이름 (음식 종류)’ 컬럼을 만들고, 총 주문건수 구하기
SELECT
CONCAT('[',SUBSTR(addr,1,2),'] ',restaurant_name,' (',cuisine_type,')') "음식점"
, COUNT(1) "주문 건수"
FROM
food_orders fo
GROUP BY
1 ;
IF : 조건을 지정
-- 기본 구조
IF(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)
CASE : 조건별로 적용할 값을 지정
IF문을 여러 번 쓴 효과ELSE 는 예외 케이스가 없으면 생략 가능-- 기본 구조
CASE WHEN 조건1 THEN 값(수식)1
WHEN 조건2 THEN 값(수식)2
ELSE 값(수식)3
END