SQL 실습 - select ~ window_function, lead, lag

Jenny·2024년 6월 16일

CREATE TABLE : Table 생성하면서 바로 Insert

CREATE TABLE tableName
(
	SELECT *
    FROM tableREF
)

VARCHAR & VARBINARY : OS관계 없이 대소문자 구분하려면 VARBINARY타입 사용

INT 타입: TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT
FLOAT 타입: FLOAT, DOUBLE, DECIMAL

JOIN: INNER JOIN, FULL OUTER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN(CARTESIAN JOIN) (CROSS JOINJOINT KEY 필요없음)

LIMIT & HAVING : 위치 주의하기

SELECT
FROM
WHERE
JOIN
	ON
GROUP BY
HAVING
ORDER BY
LIMIT

WINDOW_FUNCTION

SELECT window_function( )
		OVER( PARTITION BY col
        	  ORDER BY col)
FROM tableName;

SELECT SUM( COUNT( col))
		OVER( PARTITION BY col)
FROM tableName;

LEAD & LAG :

SELECT LEAD or LAG( col)
		OVER( ORDER BY col)
FROM tableName;

SELECT LEAD( COUNT( col))
		OVER( ORDER BY col)
FROM tableName;

SELECT LEAD( COUNT( col))
		OVER( PARTITION BY col2		-- grouping 대상
        	  ORDER BY col)			-- 순서 정렬 기준

Having 쓸 때 별 생각 없었는데 위치가 중요한 거였구나. SQL 실행 순서에 따라서 쓰는 습관을 가져가야겠다. 그리고 Lead와 Lag함수를 실무할 때 주로 어떨 때 사용하는지 궁금해졌다.

이 글은 제로베이스 데이터 분석 취업 스쿨의 강의자료 일부를 발췌하여 작성되었습니다.

profile
I like to movie movie

0개의 댓글