Colab 8
-
-
-
세 가지의 테이블을 JOIN 하여 사용한다. 여기에서 session_timestamp, user_session_channel 두 개의 테이블은 sessionId 가 같은 수로 존재하지만 session_transaction 테이블에는 sessionId가 덜 존재한다. 그래서 두 테이블은 Inner JOIN 하고, session_transaction 테이블은 LEFT JOIN한다. 없는 sessionId는 NULL값으로 채워지게 된다. 매칭이 안되는 sessionId가 있는지 알아본다. 두 개의 방향을 모두 검사해야 한다. FROM schema.table1 A JOIN schema.table2 B ON A.primary = B.primary LEFT JOIN schema.table3 C ON A.primar..
-
-
Boolean 값에서 항상 True False 값만 있는 것이 아니라 Null값도 존재할 수 있다. Flag is True = Flag is not False 만약 Flag에 Null 값이 없고 오직 True, False로만 이루어져 있다면 이 식이 맞지만 Null값이 존재할 경우 not False가 반드시 True라고 할 수 없다. flag가 식에 해당되면 1을 더하는 문장을 실행한다. CASE WHEN flag = True THEN 1 END 여기에 COUNT() true_cnt1으로 출력한다. NULL의 비교와 연산은 항상 IS, IS NOT으로 수행한다. 만약에 =, !=, 로 수행하면 잘못된 결과가 나온다.
-
adhoc 이라는 폴더는 DB 사용자가 실험을 하거나 새로운 테이블을 만들어 보거나 하는 폴더이다. temp 폴더와 쓰임새가 비슷하다. 이 adhoc이라는 폴더에 새로운 테이블을 만들어서 데이터 레코드를 카피해 보겠다. 만약 테이블이 이미 존재한다면 DROP 하는 명령어를 사용한다. 그리고 새롭게 테이블을 만든다. FROM은 이미 존재하는 테이블 뿐만 아니라 동적인 범위를 정할 수 있다. session_timestamp A, user_session_channel B를 조인한 테이블에서 B의 모든 내용과 A의 ts를 합쳐서 seoann_session_summary로 만들었다. adhoc.seoann_session_summary 에서 ts와 userid가 함께 존재하기 때문에 간단히 mau를 찾을 수 있다...
-
-