관리 메뉴

민우의 코딩노트

[SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리 1탄 본문

Lecture/데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리

[SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리 1탄

미미누 2023. 11. 9. 11:54

https://www.youtube.com/watch?v=XN4iXklAnQw

 

본 글은 [SQL] 데이터분석가 회사에서 많이 쓰는 완전 기초 쿼리, 을 시청하고 정리한 글입니다.


FROM 절에는 데이터베이스명.테이블 명이 들어감

SELECT *
FROM database_name.table_name

 

IN 구문을 이용해, 단어가 2가지 이상 있는 경우 추출

SELECT *
FROM dasql.tb_pbtrnsp
WHERE statn_nm IN ('목동', '노원')

 

LIKE 구문을 이용해, 원하는 조건의 문자가 있는 경우 추출

WHERE statn_nm LIKE '%입구'
WHERE statn_nm LIKE '%대%'
WHERE statn_nm LIKE '%종합%' OR statn_nm LIKE '%을지로%'

 

임팔라 SQL → RLIKE 구문 지원

오라클 SQL → REGEXP 구문 지원

WHERE statn_nm RLIKE '종합|을지로'
WHERE REGEXP_LIKE (statn_nm, '종합|을지로')

 

초과, 미만, 이하 대신, BETWEEN 사용 가능

WHERE begin_time BETWEEN '1100' AND '1500'

 

WHERE 절과 AND 구문을 사용해, 원하는 조건 걸기

WHERE ho_ln = '2호선'
AND tkcar_gff_se_cd = 'GF'
AND end_time = '1200'

 

WHERE 1=1을 쓰면

그때, 그때 필요한 부분만 주석 처리 해서 정리할 수 있음.

WHERE 1=1
AND ho_ln = '2호선'
AND (tkcar_gff_se_cd = 'GF' OR end_time = '1200')

 

CASE, WHEN를 쓰는 경우

SELECT CASE WHEN STATN_NO ≤ 100 THEN '100이하'
            WHEN STATN_NO ≤ 200 THEN '200이하'
            WHEN STATN_NO ≤ 300 THEN '300이하'
            ELSE '500이상' END AS STATN_NO2
       , STATN_NO
       , CASE WHEN STATN_NM = '신설동' THEN '신설동' END
              WHEN STATN_NM LIKE '종로%' THEN '종로'
              WHEN STATN_NM IN ('재기동', '청량리', '서울역') THEN '재청서'
              ELSE '기타' END AS STATN_NM2
       , STATN_NM
FROM DASQL.TB_PBTRNSP

        

 

임팔라 SQL → LEFT, RIGHT 구문 지원

오라클 SQL → SUBSTR, CONCAT 구문 지원

left(statn_nm, 2) AS 역명1
right(statn_nm, 2) AS 역명2
// 첫번째부터 모든 숫자 가져오기
, substr(statn_nm, 1) AS 역명1
, substr(statn_nm, -1) AS 역명2
// 두번째부터 한글자 가져오기
, substr(statn_nm, 2, 1) AS 역명3
, substr(statn_nm, 2, 2) AS 역명4
// 두 글자 합치기
, concat(statn_nm, ho_ln) AS 역호선
// 세 글자 합치기
, concat(statn_nm|| '역 ', ho_ln) AS 역호선2