본문 바로가기
  • 공부 기록 인생 기록

SQL17

[데이터 분석을 위한 SQL 레시피] 8강 - 여러 개의 테이블 조작하기 2023. 9. 17.
[데이터 분석을 위한 SQL 레시피] 7강 - 하나의 테이블에 대한 조작 5,6 강에서는 레코드 하나하나를 조작했지만 실무에서는 대량의 레코드를 처리해야함. 대량의 데이터 집계가 필요하고, 지표를 사용해 데이터 전체의 특징을 파악해야함 테이블의 데이터를 집약하고, 테이블의 형식이 집계에 적합하지 않은 경우 테이블을 가공해야함 윈도우 함수 1. 그룹의 특징 잡기 SELECT COUNT(*) AS total_count, COUNT(DISTINCT user_id) as user_count, sum(score) as sum, avg(score) as avg, max(score) as max from review; count, sum, avg, max, min 등 다양한 집계 함수로 컬럼( or 그룹)의 특징을 잡을 수 있음 distinct : nunique group by 사용시 주.. 2023. 9. 17.
[데이터 분석을 위한 SQL 레시피] 6강 - 여러 개의 값에 대한 조작 여러 값을 집약해서 하나의 값으로 만들거나, 다양한 값을 비교하거나, 여러 값들을 조합해서 새로운 값을 집계함으로써 새로운 지표를 정의할 수 있다. 1. 문자열 연결하기 select user_id, concat(pref_name,city_name) as pref_city1, concat(pref_name,' ',city_name) as pref_city2, pref_name || city_name as pref_city3, concat(pref_name, concat(pref_name,city_name)) as pref_city4 from mst_user_location; concat 함수로 문자열을 연결할 수 있음 공백을 넣고 싶을 땐, ' '(공백)을 추가로 인수로 넣어주면 됨 || 연산자도 같은 기.. 2023. 9. 10.
[데이터 분석을 위한 SQL 레시피] 5강 - 하나의 값 조작하기 데이터 가공이 필요한 경우 1. 다룰 데이터가 데이터 분석 용도로 상정되지 않은 경우 - 코드를 사용해 리포트 작성하면, 코드가 무엇을 의미하는지 알 수 없게 됨. 가독성 낮아짐. ex) 1 : 데스크톱, 2 : 스마트폰, 3 : 애플리케이션 - 여러 개의 정보가 하나의 문자열로 저장되어 있는 경우 2. 연산할 때 비교 가능한 상태로 만들고 오류를 회피하기 위한 경우 - 로그 데이터와 업무 데이터를 함께 다룰 때 데이터 형식 통일 - NULL과 연산 하면 결과가 NULL일 수 있음. NULL 발생하지 않게 처리해줘야함. 미들웨어에 따라 함수 이름과 기능에 차이가 있음 1. 코드 값을 레이블 값으로 변경하기 select user_id, case when register_device=1 then '데스트톱'.. 2023. 9. 9.
[데이터 분석을 위한 SQL 레시피] 1~4강 https://www.yes24.com/Product/Goods/59411396 데이터 분석을 위한 SQL 레시피 - 예스24 현장에서 바로 써먹는 SQL 데이터 분석 실무 지침서 이 책은 집필진이 실제로 업무에서 작성했던 리포트나 SQL 코드를 범용화하여 정리한 지침서입니다. 데이터 집계와 가공, 매출 파악, 웹사이트 www.yes24.com 동아리 스터디에서 SQL을 공부하게 되었다. 이 교재를 바탕으로 기억에 남는 문구나 기억해야 할 내용, 공부한 것들을 기록할 예정이다 Postgresql로 실습 진행 이 책은 데이터 분석 담당자와 엔지니어가 서로 원활한 커뮤니케이션을 하는 것이 중요하다고 말하고 있다. 그리고 그것을 가능하게 하는 것이 SQL이다. 분석 담당자가 SQL을 알아야 무엇을 집계할 수 .. 2023. 9. 8.
select 문 총정리 가장 많이 사용되고 중요한 select 문에 대해서 정리하고자 한다 select 문에 함께 작성할 수 있는 구들과 작성법에 대해 정리했다 select 구는 컬럼을 표시할지 말지 정하는 것, 지정하지 않은 컬럼을 잘라내는 게 아니라는 것을 다시 한 번 상기하자! * select 문 실행 순서 select 문은 작성 순서와 실행 순서가 다르다 select 문에 등장하는 구들의 실행 순서를 이해하고 있어야 최적화된 오류가 없는 쿼리를 짤 수 있다 select문 내부의 실행 순서는 다음과 같다 1.from : 테이블을 지정하고 전체 레코드 추출 2.where : 조건에 따라 레코드 축소 3.group by : 그룹을 통합 4.having : 그룹에 조건을 줘서 그룹을 축소 5.select : 가져올 데이터 선택.. 2023. 7. 9.