SQL

[SQL] google colab으로 sql 실습하기

ha_data 2024. 1. 1. 13:47
%%sql

SELECT DISTINCT channel                      -- 유일한 채널 이름을 알고 싶은 경우
FROM raw_data.user_session_channel;
 
 
SELECT channel, COUNT(1)                    -- 채널별 카운트를 하고 싶은 경우. COUNT 함수!!
FROM raw_data.user_session_channel
GROUP BY 1;
 
 

결과값

Naver 16921
Facebook 16791
Youtube 17091
Instagram 16831
Organic 16904
Google 16982

 

%%sql

SELECT
  channel,
  CASE
    WHEN channel in ('Facebook', 'Instagram') THEN 'Social-Media'  -- 페이스북, 인스타 채널이면 social-media
    WHEN channel in ('Google', 'Naver') THEN 'Search-Engine' -- 구글, 네이버이면 Search-engine 으로 구별
    ELSE 'Something-Else' -- 그외는 something else
END channel_type --채널 타입 컬럼으로 출력
FROM raw_data.user_session_channel
LIMIT 100;

channelchannel_type

Naver Search-Engine
Facebook Social-Media
Facebook Social-Media
Naver Search-Engine
Youtube Something-Else
Organic Something-Else
Instagram Social-Media

 

%%sql

SELECT
    DISTINCT -- 중복없이
    LEN(channel), -- 채널별로 길이
    UPPER(channel), -- 소문자
    LOWER(channel), -- 대문자
    LEFT(channel, 4) -- 왼쪽부터 4개 문자만 출력
FROM raw_data.user_session_channel
LIMIT 100;
7 ORGANIC organic Orga
6 GOOGLE google Goog
8 FACEBOOK facebook Face
5 NAVER naver Nave
7 YOUTUBE youtube Yout
9 INSTAGRAM instagram Inst

 

%%sql

SELECT
    COUNT(1) count_1,
    COUNT(0) count_0,
    COUNT(NULL) as count_null, -- null은 항상 count를 스킵 = 0
    COUNT(value) count_value, -- value 는 null 값 빼고 카운
    COUNT(DISTINCT value) count_distinct_value -- null, 1, 0,4,3 중에 null 값 빼고 카운트
FROM raw_data.count_test;
%%sql

SELECT 0 + NULL, 0 - NULL, 0 * NULL, 0/NULL -- null이 들어가면 그 결과도 null (=none)