본문 바로가기

SQL

(6)
Big Query - 날짜 형식 : PARSE_DATE, EXTRACT, DATE_ADD, DATE_SUB, DATE_DIFF PARSE_DATE PARSE_DATE(format_string, date_string) format_string 설명 %A 요일 Monday %a 요일 (약어) Mon %B 월 (full name) March %b 월 (약어) Mar %m 월 %d 일 %e 일 (한 자리수 앞엔 공백) %x MM/DD/YY 형식 %F %Y-%m-%d 형식 %D %m/%d/%y 형식 %Y 4자리 연도 %y 2자리 연도 예시. PARSE_DATE('%y.%m/%d', '17.6/30') 결과 : 2017-06-30 EXTRACT EXTRACT(part FROM date_expression) part 설명 YEAR 연 MONTH 월 DAY 일 WEEK 한 해의 '주' 번호 [0-53] 주는 일요일부터 시작 WEEK(MONDA..
SQL - UNION, ORDER BY 팁 [UNION ALL] 테이블을 위 아래로 연결할 때 쓴다. (행이 중복되어도 연결) [UNION DISTINCT] 테이블을 위 아래로 연결할 때 중복된 행이 있다면 제거해서 연결 (UNION만 써도 되는 DBMS도 있다.) UNION이 가능한 경우 컬럼의 개수, 데이터 타입이 같을 때, * 컬럼명이 달라도 됨 (AS 이용) UNION이 불가한 경우 컬럼의 개수가 다를 때, 데이터 타입이 다른 경우 ORDER BY 팁 만약 CASW WHEN 문법 등으로 새로운 컬럼의 새로운 값을 만든다면 (ex. 소형, 중형, 대형) 소형 - 중형 - 대형 순으로 값을 보고 싶을 때가 있다. 그러나 이를 그냥 ORDER BY를 하게되면 초성 순으로 대형 - 소형 - 중형으로 정렬된다. 이를 방지하기 위해서 앞에 숫자를 붙..
Big Query - 타 RDBMS와 다른 FROM 절 문법 보통 Oracel이나 PostgreSQL 등 RDBMS의 기본 문법은 다음과 같다. SELECT * FROM 테이블 Big Query는 FROM에서 데이터 세트를 함께 써줘야한다. SELECT * FROM 데이터세트.테이블 https://steadiness-193.tistory.com/246 Big Query - 프로젝트, 데이터 세트, 테이블 만들기 https://cloud.google.com/bigquery 에서 BigQuery: 클라우드 데이터 웨어하우스 | Google Cloud BigQuery는 확장성이 뛰어난 서버리스 저비용 데이터 웨어하우스로, 빅데이터를 통해 정보에 기반한 비즈니스 결.. steadiness-193.tistory.com
SQL - JOIN 할 때 ON과 WHERE의 차이 [공통점] 둘 다 JOIN을 위한 조건절로 쓰인다. [차이점] ON - JOIN이 실행되기 전 WHERE - JOIN이 실행된 후 * 모든 JOIN은 LEFT JOIN으로 통일함 예시1. ON JOIN에 우선 이름으로 테이블을 연결한 뒤 AND t2.몸무게 = 50 이라는 조건을 준 상황이다. ON은 JOIN이 되기 전에 실행되므로 간단하게 보면 1번과 3번의 LEFT JOIN이 된 것처럼 보이는 것이다. 나머지 B, C의 몸무게는 NULL값을 가진다. 예시2. WHERE WHERE은 JOIN이 실행된 후 적용된다. 우선 가운데 회색 테이블은 이름을 기준으로 t1과 t2를 JOIN한 것이다. 여기서 WHERE 조건으로 t2의 몸무게가 50인 데이터만 필터링 하면 맨 오른쪽의 하나의 행만 있는 테이블이 보..
SQL - 실무에 많이 쓰이는 JOIN은? 1. LEFT JOIN LEFT JOIN이 실무적으로 가장 많이 쓰인다. 주로 보고 싶은 테이블을 왼쪽에 두고 추가적인 정보를 더하기 위한 JOIN이기 때문이다. 위 그림의 예시에는 고객 테이블이 있고 주문 테이블이 있다. 한 고객이 여러 주문을 할 수도 있으나, 주문을 하지 않은 고객도 있을 수 있다. 모든 고객을 다 보면서 주문에 대한 정보를 추가해주는 작업은 LEFT JOIN을 해야하는 것이다. 같은 맥락에서 RIGHT JOIN도 많이 쓰여야할 것 같으나 어차피 기능은 같고 굳이 오른쪽에 메인 테이블을 둘 필요는 없으니 RIGHT JOIN은 거의 쓰이지 않는다. 2. INNER JOIN INNER JOIN도 간혹 쓰인다. 두 테이블에서 모두 해당하는 경우를 원할 때도 있기 때문이다. 위 예시에서 인..
Big Query - 프로젝트, 데이터 세트, 테이블 만들기 https://cloud.google.com/bigquery 에서 BigQuery: 클라우드 데이터 웨어하우스 | Google Cloud BigQuery는 확장성이 뛰어난 서버리스 저비용 데이터 웨어하우스로, 빅데이터를 통해 정보에 기반한 비즈니스 결정을 내릴 수 있도록 도와줍니다. cloud.google.com 무료 계정 생성 [프로젝트 생성] My First Project - 새 프로젝트 - 프로젝트 이름 입력 후 만들기 * 프로젝트 : 최상단 폴더와 비슷한 개념 한 개의 프로젝트에 여러 개의 데이터 세트가 들어갈 수 있다. https://console.cloud.google.com/bigquery Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Clou..