====== SQL ====== * NULL은 비교할 수 없음 A = { 1,2, NULL } WHERE A < > 2 일 때 A는 1만 나옴 → nvl 함수 쓰자 * A번째 에서 B번만큼 (중간의 몇개만 select) LIMIT a offset b * WITH문 WITH ALIAS명_1 AS ( SUB쿼리 ), ALIAS명_2 AS ( SUB쿼리 ) SELECT 컬럼명 FROM ALIAS명~~~ * like 를 in 처럼 SELECT S1.주소, S2.시군구 FROM 고객리스트 S1 LEFT OUTER JOIN (SELECT 시군구 FROM 주소) S2 ON (S1.주소 LIKE '%'||S2.시군구||'%') [[data_analysis:SQL:interview]] ==== window function ==== window function - Frame phrase https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=theswice&logNo=221320203566 range와 rows 차이 ==== 계층형 질의 ==== https://heodolf.tistory.com/72 조직도 등 (직원id - 상사id) 구조로 되어 있는경우 * Ansi : With 재귀적 방법 * ORACLE : CONNECT BY ==== Impala ==== * unixtime 형태의 string -> 시간으로 * FROM_UNIXTIME(BIGINT unixtime [, STRING pattern]) from_unixtime(cast(A.time as BIGINT), "yyyy-MM-dd HH:mm:ss") * [[data_analysis:sql:impala_performance]] ==== HIVE ==== * INSERT INTO vs. INSERT OVERWRITE * row 더하기 vs. 덮어쓰기 * partition 문과 함께 * https://sparkbyexamples.com/apache-hive/hive-insert-into-vs-insert-overwrite/ * https://wikidocs.net/23562#insert ===== Examples ===== {{page>data_analysis:sql:z-score&link&nouser&nodate&noeditbutton}} {{page>data_analysis:sql:median&link&nouser&nodate&noeditbutton}} {{tag>data_analysis SQL}} ~~DISCUSSION~~