배운 내용: SQL 3주차 강의
1. 특정문자를 다른문자로 바꾸기
replace라는 함수를 사용하여 상점명에 blue 부분을 pink로 변경하였다.
함수조건 = replace(바꿀 컬럼, 현재 값, 바꿀 값)
2. 특정문자를 다른문자로 바꾸기 실습
replace를 활용하여 주소란의 문곡리라는 단어를 문가리로 바꾸고 컬럼이름을 바뀐주소로 표시하였다.
3. 특정문자만 골라서 조회하기
substring 함수를 활용하여 주소란의 첫번째 글자부터 두번째글자까지 단어를 골라서 조회하였다.
함수조건 = substr(조회 할 컬럼, 시작 위치, 글자 수)
4. 여러 컬럼의 값을 하나로 합치기
concat함수를 활용하여 원하는 문자를 하나로 합쳐 표시하였다.
함수조건=concat(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, .....)
5. group by함수를 활용하여 서울지역의 음식타입별 평균 음식주문금액 구하기
substr함수로 주소컬럼의 1번글자부터 두칸을 옮겨 표기하였고 음식종류와 그 음식종류별 평균가격을 나타내었다
group by함수로 음식종류 컬럼을 그룹화하여 각 항목마다 결과값이 도출되도록 입력하였다.
만약 group by함수로 묶지 않는다면, 모든 음식종류를 하나의 항목으로 보고 평균금액이 구해지게 될 것이다.
6. 이메일 도메인별 고객 수와 평균 연령 구하기
substr함수로 이메일의 10번째 글자부터 마지막글자까지 표시하였고 도메인이라는 컬럼으로 표시하였다.
count(1)함수로 각 도메인별 고객 수를 측정하였고 사용자들의 평균 연령도 표시하였다.
후에 group by함수로 도메인컬럼을 그룹화하여 각 도메인 항목마다 결과값이 도출되도록 표시하였다.
7. ‘[지역(시도)] 음식점이름 (음식종류)’ 컬럼을 만들고, 총 주문건수 구하기
concat함수를 활용하여 대괄호,(substr 주소,1,2),대괄호,음식점명,소괄호,음식종류,소괄호로 표시하여 해당 조건에
부합하는 글자들로만 항목을 수정하였다. 아래 결과값 참고.
8. if함수를 이용하여 컬럼표시하기
if함수는 엑셀에서 사용하는 if함수와 동일하게
함수조건=if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)를
따라서 음식종류가 korean이면 한식 아니라면 기타로 항목을 표시하였다.
9. if함수를 이용하여 평택군 문곡리를 문가리로 교체하기
위의 2번과는 다르게 세종시에도 문곡리, 평택시에도 문곡리가 존재하여 서로 차별을 두기 위하여
평택군 문곡리만 문가리로 교체하여 표시하였다.
where절을 사용하여 주소의 '문곡리'가 포함된 두 지역을 가져왔고 두 지역중 '평택군'이 포함된 주소만
문곡리를 문가리로 교체하였다.
10. if함수를 이용하여 mail.com을 gmail.com으로 교체하기
위의 6번과는 다르게 mail.com 으로 되어있던 도메인부분을 gmail.com으로 수정하여 표기하였다.
substr함수를 활용하여 만약 이메일안에 gmail.com이 포함되어있다면 gmail.com을 @gmail.com으로 교체하여 글자수
10번째에 g로 시작할수 있도록 입력하였다. 나머지 내용은 6번과 동일하다.
11. case함수를 이용하여 조건 지정하기
case함수를 활용하여 음식종류가 korean일때는 한식으로 japanese나 chinese일때는 아시아로
만약 두 조건다 부합하지 않는다면 기타로 표현하였다.
함수조건 = case when 조건1 then 값(수식)1
when 조건2 then 값(수식)2
else 값(수식)3
end
12. case함수를 이용하여 주문단가 결과 도출하기
case함수를 활용하여 주문횟수가 1인 메뉴의 가격은 그대로 2회 이상인경우 가격/주문횟수로 각 음식별
주문단가를 구하였다.
13. case함수를 이용하여 실습해보기
case함수를 활용하여 10~19세 사이 남성은 10대남성 10~19세 사이 여성은 10대여성.......
식으로 표현하였다. case함수를 사용하면 대부분 쿼리가 길어지지만 자세히보면
어려운 부분없이 함수조건을 잘 따라가고 있다는 것을 인지하면 쉬워진다.
14. case문을 이용하여 실습해보기 2
이번 쿼리는 case안에 if함수가 들어간 상황으로 보기에는 복잡해 보이지만 주문시간이 30분 초과이면 가격에0.1을 곱하고
주소가 서울이라면 1.1을 추가로 곱하라는 조건문이다. 한국말로 풀어서 생각해보면 간단한 조건이라는 것을 알 수 있다.
15. 3주차 숙제
3주차 숙제는 주중,주말마다 배달시간 지연을 구분하여 표시하는 것이다. 주중인 경우 25분이상 주말인경우 30분이상
지연될시 Late로 표시하였다.
2주차까지는 수업만 잘 따라가면 어려운부분없이 이해가 되었지만 3주차 강의부터는 점점 복잡해지고 등장하는 함수들이
많아져서 머리에 과부화가 시작되었다. 하지만 블로그에 학습기록을 작성하며 다시 한번 고민하고, 생각하는 시간을 가지며 완벽히 내 것으로 만들기 위해 앞으로도 노력하겠다.
'내일배움캠프 TIL' 카테고리의 다른 글
본캠프 1일차 TIL (0) | 2024.10.28 |
---|---|
사전캠프 3주차 수요일 (0) | 2024.10.16 |
사전캠프 2주차 목요일 (0) | 2024.10.10 |
사전캠프 2주차 화요일 (0) | 2024.10.08 |
사전캠프 1주차 금요일 기록 (0) | 2024.10.04 |