본문 바로가기

전체 글25

[SQL] 데이터분석가 입문 필수 SQL 부트캠프 (10) WINDOW 함수, 순위 함수, RANK, DENSE_RANK, ROW_NUMBER, FIRST_VALUE, LAST_VALUE 메타코드의 SQL 부트캠프 강의 정리 무려 10탄째다. 강의는 메타코드에서 구매 가능함 https://mcode.co.kr/kor/ 이 글에서는 WINDOW 함수 중 많이들 헷갈려 하는 순위함수를 간단히 다뤄 보려고 한다. 사실은 8편에서 간략하게 다룬 내용이지만, 그래도 예시와 함께 좀 더 자세히 다루면 좋지 않을까? 나중을 위해... 🔥 ROW_NUMBER, RANK, DENSE_RANK RANK, DENSE_RANK, ROW_NUMBER 모두 순위를 알고 싶을 때 사용하는 함수이다. 차이점만 확실히 알면 쉽게 구분할 수 있다. SELECT customername, creditlimit, ROW_NUMBER() OVER (ORDER BY creditlimit DESC) AS row_number_, R.. 2024. 3. 29.
[SQL] 데이터분석가 입문 필수 SQL 부트캠프 (9) WINDOW 함수: LEAD, LAG 메타코드의 SQL 부트캠프 강의 정리. 강의는 메타코드에서 구매 가능! https://mcode.co.kr/kor/ 오늘은 window 함수 중에 어려운 편에 속하는 LEAD, LAG 함수에 대해 정리하려고 한다. 🔥 LEAD, LAG 함수 지난 글에서 살펴봤던 WINDOW 함수의 기본 형태를 적어보면, 아래와 같다. WINDOW_FUNCTION 부분에 LEAD, LAG 함수가 들어간다. WINDOW_FUNCTION(컬럼1) OVER (PARTITION BY ~ ORDER BY~) AS 별칭; 🔥 LEAD, LAG 함수 LEAD 함수는 다음 행 데이터를 가져오고, LAG 함수는 반대로 이전 행 데이터를 가져온다. LEAD 함수는 LEAD(컬럼, N) 과 같이 쓰면 N행 뒤의 데이터를 가지고 온다. 예시와.. 2024. 3. 23.
[SQL] 데이터분석가 입문 필수 SQL 부트캠프 (8) WINDOW 함수: 기본 구조, 집계 함수, 순위 함수, 비율함수 오늘도 역시 메타코드의 SQL 부트캠프 강의 정리. 강의는 메타코드에서 구매 가능! https://mcode.co.kr/kor/ window 함수는 뭔가 복잡해 보이지만 특징이 명확해서 공부할 때 생각보다 어렵지 않았다. 제일 이해하기 어려운 부분은 rows와 range + lead lag 함수가 나오는 부분이다. 구조적으로 사고해야 하는데 나는 공간감각이 없어서 어려운 것 같기도... 🔥 WINDOW 함수 WINDOW 함수는 SELECT 절에서 사용되며, 특정 구간에서 집계를 할 때 사용한다. WINDOW_FUNCTION(컬럼1) OVER (PARTITION BY ~ ORDER BY ~ ) AS 별칭; 📌1) WINDOW_FUNCTION 첫 번째 줄, WINDOW_FUNCTION 부분에는 다양한 함수가.. 2024. 3. 21.
[SQL] 데이터분석가 입문 필수 SQL 부트캠프 (7) 집합 연산자 UNION, UNION ALL + MINUS(EXCEPT), INTERSECT 강의는 메타코드에서 구매 가능하다: https://mcode.co.kr/kor/ 오늘도 역시 부트캠프 강의 정리이다. 이번에는 집합 연산자를 정리하려고 하는데, 강의에서는 실무에서 자주 사용되는 UNION과 UNION ALL만 가르쳐 줬지만 내가 SQLD(SQL 개발자)를 공부하면서 알게 된 MINUS(EXCEPT), INTERSECT도 함께 설명할 것이다. 🔥 UNION UNION은 두 테이블이 있을 때 중복 없이 표를 세로로 합친다. 여기에서 중요한 것은 합치는 컬럼의 수가 같아야 하고, 데이터 타입도 같아야 한다는 것이다. 위 예에서는 ex3과 ex4의 id를 합쳤다. [EX3] ID NAME AGE 1 이상훈 34 2 박상훈 30 3 최상훈 20 [EX4] ID REGION 1 서울 4 대구 5 .. 2024. 3. 17.
[SQL] 데이터분석가 입문 필수 SQL 부트캠프 (6) JOIN - INNER JOIN, OUTER JOIN, FULL OUTER JOIN 강의는 메타코드에서 구매 가능하다: https://mcode.co.kr/kor/이번 주말은 본가에 와서 평소보다 자료를 많이 넣진 못하겠지만... 그래도 매주 규칙적으로 글을 써야지! 공부가 되지. SQL 입문 부트캠프 덕에 이번 sqld 시험도 잘 친 것 같고, 프로그래머스 사이트에서 SQL 문제들을 풀어 나갈 수 있어서 나에게는 여러모로 감사한 강의이다. 오늘은 대망의 JOIN 차례. JOIN은 이해하기가 어찌 보면 쉽고, 어찌보면 어렵다. 나는 공간감각이 없는 편이라 테이블을 가져 와서 옆에다가 붙인다는 것을 감 잡고 이해하기 시간이 꽤 걸렸다. ㅠㅠ🔥 JOINJOIN은 두 테이블을 결합하기 위해 사용한다. 강의에서 알려준 예시는 아니지만 예를 들어서, 아래와 같이 제품 테이블 - 주문 테이블 - .. 2024. 3. 16.
[SQL] 데이터분석가 입문 필수 SQL 부트캠프 (5) HAVING 절, IF, CASE 강의는 메타코드에서 구매 가능: https://mcode.co.kr/kor/ 이번 주말에 sqld 시험도 치고, 오늘은 결혼식을 다녀왔는데 어제 춥게 자서 그런가 감기기운이 심하다. 오늘은 짧게 글 쓰고 마무리 해야할 듯.. 내일 출근도 해야 하니까... 오늘도 역시 메타코드의 SQL 입문 6시간 완성 강의를 정리하려 한다. 🔥 HAVING 절 자료를 보면, HAVING은 WHERE와 비슷하게 뒤에 조건이 오는데 '그룹화된 결과의 집계'에 대한 조건을 적용한다고 되어 있다. 항상 GROUP BY까지 하고 결과 표를 한 번 뽑은 다음에 HAVING을 써서 조건을 적용한다고 생각하면 편하다. 아래 예를 보자. SELECT productline, count(productline) AS productlineSu.. 2024. 3. 11.