SQL/Google Big Query17 [빅쿼리 #11] WITH구문 (공통 테이블 식)으로 임시 테이블 만들기 Today's Topic 일시적으로 사용하는 테이블을 만들기 - Used Function WITH구문 SQL문이 간단하다면 괜찮지만, 매우 복잡한 쿼리문일 경우 각 행별 쿼리를 보기가 힘들어집니다. 예를 들어 아주 많은 join을 해야 한다거나, row_number()와 같은 순위 함수를 중첩해서 많이 사용해야할 경우가 있습니다. 이럴 경우 with구문을 사용하면 임시적인 테이블에 이름을 새로 붙여 사용할 수 있기 때문에 효율이 올라갑니다. 물론, 그냥 이런 테이블을 물리 테이블로 저장하면 되지 왜 굳이 일시 테이블로 저장하느냐고 생각하실 수가 있을 것입니다. 하지만 일부 조직원 중에서는 create table문을 활용하여 실제 테이블을 생성할 수 있는 권한이 없는 경우가 있습니다. 이런 분들은 물리 테.. 2023. 2. 2. [빅쿼리 #10] 테이블 합치기 (UNION ALL, INNER JOIN, OUTER JOIN) - Today's Topic 테이블을 세로로 결합하기 (UNION ALL구문 vs. UNION구문) 테이블을 가로로 결합하기 (조인을 활용) - Used Function UNION ALL 구문 INNER JOIN, OUTER JOIN 데이터를 처리하거나, 탐색, 분석을 하다 보면 테이블을 합쳐야 하는 경우가 많이 생깁니다. 하나의 테이블로는 디테일한 정보를 뽑아내기 어렵기 때문에, 다른 테이블을 이용해 결합시켜 추가 정보를 얻게 되는데, 이 때 활용되는 구문이 바로 UNION ALL 그리고 JOIN개념입니다. 1. UNION ALL 구문 2021년의 구매 테이블과 2022년의 구매 테이블을 같이 보고 싶다면 어떻게 하면 될지 생각해 봅시다. INSERT구문을 사용해서 2021년 구매 테이블에다가 2022.. 2023. 2. 1. [빅쿼리 #9] 윈도우함수를 알아보자(2) (ROWS BETWEEN 구문, PARTITION BY 구문) - Today's Topic 윈도우함수의 개요와 쓰임 ROWS BETWEEN 구문 PARTITION BY구문 - Used Function ROWS BETWEEN start AND end 구문 FIRST_VALUE() / LAST_VALUE() 함수 ORDER BY 구문 PARTITION BY 구문 안녕하세요. 이번에는 저번 윈도우함수 (1)에 이어서 진행해 보도록 하겠습니다. 저번시간에 윈도우 함수의 기본적인 내용을 학습했다면, 이번에는 윈도우 함수를 조금 더 응용한 내용을 학습한다고 보시면 될 것 같습니다. 오늘 사용할 테이블은 다음과 같습니다. ID열: 고유 ID를 나타냅니다. Class: 반을 나타냅니다. korean, english, math : 국어, 영어, 수학 점수를 나타냅니다. score:.. 2023. 1. 31. [빅쿼리 #8] 윈도우함수를 알아보자(1) (순위함수, 행의 값 조회 함수) - Today's Topic Window Function의 개요 순위 함수 행의 값 조회 함수 order by 구문 - Used Function 순위함수 ROW_NUMBER(), RANK(), DENSE_RANK()의 차이와 쓰임 행의 값 조회 함수 LAG(), LEAD()함수의 차이와 쓰임 ORDER BY구문 (OVER()함수 포함) 안녕하세요. 오늘은 윈도우함수에 대해 살펴보도록 하겠습니다. 윈도우 함수라는 개념이 생소하실 수 있으므로, 간단한 개념부터 보겠습니다. 1. 윈도우 함수 (Window Function) 개요 SQL에는 '순서'라는 개념이 존재하지 않기 때문에, 순서와 관련된 데이터를 처리하려면 매우 복잡한 과정이 동반됩니다. 이러한 과정을 줄이고자 등장한 것이 윈도우 함수입니다. 윈도우 .. 2023. 1. 30. [빅쿼리 #7] 여러 개의 값에 대한 조작 (2) - Today's Topic 현재날짜를 기준으로, 날짜의 차이 계산하기 현재날짜를 이용하여, 연수 계산하기 ip주소를 정수형으로 변환하기 ip주소를 0으로 채우기 - Used Function 날짜함수 (current_date(), date(), timestamp(), date_diff() 등) cast() 함수 split() 함수 lpad()함수 이번에는 날짜함수를 활용해 날짜의 차이를 계산해보고, 연수를 파악하는 방법, 그리고 텍스트분석에 사용되는 cast, split함수와 함께 lpad()함수를 사용해 ip주소를 정수형으로 변환하고, 0으로 채우는 방법에 대해 살펴보겠습니다. 사용할 테이블은 다음과 같습니다. 제 임의로 업체의 지점별 매출을 만든 테이블입니다. code: 지점고유코드 place: 지점.. 2023. 1. 27. [빅쿼리 #6] 여러 개의 값에 대한 조작(1) - Today's Topic 작년 대비 올해 매출의 증가와 감소 표시하기 지난 4년간 최대/최소 매출 찾기 연합계 및 연평균 매출 계산하기 (집계함수 미사용) - Used Function concat() 함수 case when ~ then ~ else ~ end 구문 greatest(), least() 함수 order by절 오늘은 하나의 값이 아닌 여러 개의 값에 대해 조작하고, 결과를 출력하는 첫 번째 시간을 가져보도록 하겠습니다. 오늘 사용할 테이블은 다음과 같습니다. 가상으로 업체의 지점별 매출을 만든 테이블입니다. code: 지점고유코드 place: 지점이 속한 지역 markname: 지점명 regdate: 지점등록일자 sales_년도: 연매출 ip: 각 지점의 사무실 ip (임의로 정한 값으로.. 2023. 1. 26. 이전 1 2 3 다음