본문 바로가기

프로그래밍/SQL13

[MySQL] 재귀 (RECURSIVE) 테이블 생성 CTE (Common Table Expression)을 활용하여 재귀 테이블을 생성할 수 있다. CTE를 활용하게 된다면, 재귀 쿼리를 이용해 메모리 상에 가상의 테이블을 저장하게 된다. 이를 통해, 시간대를 생성해서 다른 테이블과 조인하여 다양하게 사용할 수 있다. 사용법은 아래와 같다. WITH RECURSIVE 테이블명 AS ( SELECT 초기값 AS 컬럼명 UNION ALL SELECT 컬럼명 재귀 조건 FROM 테이블명 WHERE 제어문 ) 예시를 살펴보자 2021. 7. 1.
[SQL] 데이터 캠프 수강 (11) - Reporting in SQL 이번 강의는 아래 4개의 단원으로 구성되어 있다. Exploring the Olympics Dataset Creating Reports Cleaning & Validation Complex Calculations [Chapter1] E:R 다이어그램을 보면서 테이블 간의 결합을 통한 데이터 추출을 진행했다. 주의할 점으로는 테이블을 결합하고 추출하는 과정에서 중복, 합산 등의 문제가 발생할 수 있으므로 데이터의 정합성을 체크하자. [Chapter2] 효율적인 코딩 프로세스 작성하는 법 What tables do we need to pull from? How should we combine the tables? What fields do we need to create? What filters need t.. 2021. 5. 23.
[SQL] 데이터 캠프 수강 (10) - Analyzing Business Data in SQL Chapter 1: Revenue, cost and profit Chapter 2: User-centric metrics Chapter 3: Unit economics and distributions Chapter 4: Generating an executive report Chapter1 DATE_TRUNC(date_part, date) ex) DATE_TRUNC('week', '2018-06-12')::DATE -> '2018-06-11' Chapter2 MAU (Monthly Active User) : 한 달 동안 유저의 활동 수 월별 고유 유저 수를 구하면 된다. DAU (Daily Active User): 하루동안 유저의 활동 수 일별 고유 유저 수를 구하면 된다. 증감률 : 기준 대비 증감 비.. 2021. 5. 9.
[SQL] 데이터 캠프 수강 (9) - Applying SQL to Real-World Problems 9번째 SQL 강의를 들어보자 ! 해당 강의는 아래 4개의 단원으로 이루어져 있다. Chapter1 : Use Real World SQL Chapter2 : Find Your Data Chapter3 : Manage Your Data Chapter4 : Best Practices for Writing SQL [Chapter2] DB의 Table을 탐색하는 방법 PostgreSQL 경우 SELECT * FROM pg_catalog.pg_tables -- schemaname, tablename, tableowner 열을 반환해준다. SQL Server 경우 SELECT * FROM INFORMATION_SCHEMA.TABLES; MySQL 경우 SHOW TABLES; DB의 Table & Column을 모두.. 2021. 5. 2.