본문 바로가기

SQL8

[DAY 33] SQL 마지막 날 - 추천도서, 내용 정리, 연습문제 Special Lecture인 SQL이 벌써 7회차로 마지막이 되었다. 전체 내용을 한 번 쭉 복습하고 연습문제를 풀며 마무리했다. 추천도서 SQL 도서를 추천해 달라는 요청을 받으신 강사님의 3가지 추천도서 1. 모두의 SQL 2. SQL로 맛보는 데이터 전처리 분석 3. 데이터 분석을 위한 SQL 레시피 1번은 e-book으로도 볼 수 있다는 장점이 있다. 개발자, DB관리자, 데이터분석가 등 본인의 직무에 따라 사용하게 되는 SQL이 차이가 있을 것이라는 말씀도 덧붙여 주셨다. 전체 내용 및 연습문제 select~from의 기본적 형태부터 where절, group by, having, order by, 함수, join, 조건분기, with, 서브쿼리, 데이터 집계, 윈도우 함수 등 전체 내용을 쭉 .. 2023. 2. 12.
[DAY 28] SQL 데이터 집계하기 - ROLLUP, WINDOW FUNCTION JOIN, 서브쿼리, WITH와 CTE 등에 대한 내용을 복습하고 강의가 시작되었다. ROLLUP, WINDOW FUNCTION 등 데이터 집계 함수에 대해 공부하였다. ROLLUP 그룹별 소계, 총계를 구하기 위해 사용한다 ROLLUP 함수는 n개의 그룹을 지정하면 n+1개 조합이 출력되며, 그룹화 순서가 중요하다 예시 : ROLLUP(A, B, C) 1. A그룹별 B그룹별 C그룹에 대한 결과 2. A그룹별 B그룹에 대한 결과 3. A그룹에 대한 결과 4. 모든 데이터에 대한 결과 # 국가별, 성별 유저 수 select country, gender, count(id) as count_user from `thelook_ecommerce.users` group by rollup(country, gender.. 2023. 2. 3.
[DAY 23] SQL 집합연산, 서브쿼리, WITH, CTE 새로운 내용에 앞서 지난 시간에 공부한 JOIN에 대한 연습문제와 프로그래머스 문제를 풀었다. 이후 집합연산, 서브쿼리, WITH과 CTE에 대해 공부했다. JOIN 연습문제와 프로그래머스 문제 JOIN 연습문제 ### SQL 연습문제 8-6 주문상품(order_items) 테이블과 상품정보(products) 테이블을 이용하여 주문한 상품의 브랜드 별 평균판매가격(brand_avg_sale_price)을 조회하시오. - 가격은 소수점 2자리까지 표시, 반올림 처리 - 정렬 : 브랜드명 오름차순 select t2.brand, round(avg(t1.sale_price), 2) from `thelook_ecommerce.order_items` t1 left join `thelook_ecommerce.prod.. 2023. 1. 27.
[DAY 22] SQL CASE, IF 조건분기, JOIN 어제 배운 함수 내용을 가볍게 훑고 강의가 시작되었다. CASE문, IF문을 통해 SQL에서 조건분기를 구현하는 방법과 JOIN을 공부했다. 조건분기 - CASE 사용법 CASE WHEN 조건문1 THEN 값 [WHEN 조건문2 THEN 값] . . . [ELSE 값] END CASE를 쓰고 그 뒤로 WHEN ~ THEN을 1개 이상 사용한다. WHEN에 모두 해당하지 않을 경우의 값을 원할 때 ELSE를 사용할 수 있다. CASE문 마지막에 END는 필수이다. Python의 if ~ elif~ else 문과 흡사하다. 사용 예시 orders 테이블에서 order_id, user_id, status를 조회한 결과는 아래와 같다 status에 따라 한글로 된 컬럼을 추가하고 싶다면 CASE문을 사용할 수 .. 2023. 1. 26.
[DAY 21] SQL 함수를 통해 숫자, 문자, 날짜 형태의 데이터 다루기, NULL 처리하기 설 연휴가 지난 20230125 수요일이다. 이번주는 3일 연속으로 Special Lecture인 SQL이 예정되어 있다. 집계함수, group by, order by, having 등 내용을 복습한 후 함수에 대해 공부했다. 함수 - 숫자 다루기 ROUND(number, n) : number의 소수점 n+1번째 자리에서 반올림 - ROUND(10.5678, 3) : 10.568 TRUNC(number, n) : number의 소수점 n+1번째 자리에서 내림(절삭) - TRUNC(10.5678, 3) : 10.567 MOD(number, n) : number를 n으로 나눈 나머지 - MOD(10, 3) : 1 POWER(number, n) : number의 n제곱 - POWER(10, 3) : 1000... 2023. 1. 25.