전체 글
![[SQL] JOINs and UNIONs](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwiiU3%2Fbtruh6jfVCc%2FtF6haReMaADXfPCz4m8uCK%2Fimg.png)
[SQL] JOINs and UNIONs
1. JOINs query = """ SELECT o.Name AS Owner_Name, p.Name AS Pet_Name FROM `bigquery-public-data.pet_records.owners` AS o INNER JOIN `bigquery-public-data.pet_records.pets` AS p ON p.ID = o.Pet_ID """ JOIN 연산에는 FULL JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN이 있다. Pandas 라이브러리의 merge() 함수의 left, right와 비슷한 결과를 츨력하며, RIGHT JOIN은 JOIN 구문을 기준으로 오른쪽 데이터 셋의 key를 중심으로 교집합을, LEFT JOIN은 왼쪽 데이터셋의 key를 중심으로 데이..
[SQL] Joining data
1. JOIN JOIN 연산은 두개 이상의 테이블에서 데이터를 취합하여 하나의 테이블로 만든다. 각각의 테이블에서 공통적으로 존재하는 열의 key를 통해 데이터를 합친다. query = """ SELECT p.Name AS Pet_Name, o.Name AS Owner_Name FROM `bigquery-public-data.pet_records.pets` AS p INNER JOIN `bigquery-public-data.pet_records.owners` AS o ON p.ID = o.Pet_ID """ 쿼리문에서 ON은 각각의 테이블에서 어떤 컬럼을 사용하여 테이블을 합칠 것인지를 지정해준다. 위 쿼리문에서 pets 테이블의 ID와 owners 테이블의 Pet_ID가 서로 같은 정보를 가지고 있으므..
[SQL] AS & With
1. AS 라이브러리를 축약해서 사용하기위해 as를 쓰는것과 동일하게 Bigquery도 컬럼명을 변경하기 위해서 AS를 쓴다. query = """ SELECT Animal, COUNT(1) AS Number FROM `bigquery-public-data.pets_records.pets` GROUP BY Animal """ 2. With ... AS CTE(Common Table Expression)는 서브쿼리로 쓰이는 파생테이블과 비슷한 개념으로 사용되며 복잡한 쿼리문에서 코드의 가독성과 재사용성을 위해 사용된다. CTE안에 독립적으로 존재하는 query는 하나의 데이터 묶음을 형성하여 복잡한 데이터 셋을 생성하는데 효율적으로 코드를 작성하게 해준다. # Query to select the numbe..
[SQL] Order By
1. ORDER BY ORDER BY는 query 구문에서 가장 마지막에 쓰이며 결과를 ORDER BY 뒤에 나오는 컬럼명으로 요약한다. query = """ SELECT ID, Name, Animal FROM `bigquery-public-data.pet_records.pets` ORDER BY ID """ 내림차순으로 데이터를 정렬하고 싶을 경우 ORDER BY 구문의 가장 마지막에 DESC를 붙인다. query = """ SELECT ID, Name, Animal FROM `bigquery-public-data.pet_records.pets` ORDER BY Animal DESC """ 2. Dates BigQuery에는 DATE와 DATETIME 방식이 있다. DATE 형식의 경우 연, 월, 일의..