본문 바로가기

728x90
728x90

TOOLS/My SQL

(20)
[SQL개발자] SQLD 자격증 시험 독학 / 노베이스 공부 방법 총 정리! 작년 SQLD를 취득하면서 효과적이었던 공부 방법 알려드릴게요! 처음엔 멋도 모르고 400페이지가 되는 두꺼운 원론서를 제본하여 공부를 했었는데요..🥹 페이지가 너무 두꺼워서 집중도 안되고, 불필요한 텍스트들이 많아 괜히 2만원이나 주면서 제본했다는 생각이 들었습니다. (2만원 짜리 라면받침 획득 ^^..) 지금 생각해보면 정말 비효율적으로 공부를 했었던 것 같아요. 여튼 1회차에는 비효율적인 공부때문인지 낙방을 하였고, 2회차때에는 공부 방법을 달리하여 2회만에 SQLD에 합격했습니다. ⇩ 합격 포스팅은 아래에 있어요 ! 2022.09.26 - [Tools/My SQL] - [SQLD 합격] 46회 SQL 개발자 시험 비전공자 2수 합격 + 가이드라인 [SQLD 합격] 46회 SQL 개발자 시험 비전공..
[My SQL] LIMIT과 OFFSET / 원하는 행만 출력하기 오늘 포스팅하는 LIMIT과 OFFSET 구문은 쿼리문의 맨마지막에 작성한다. SELECT ~ ORDER BY 절 까지 상단의 쿼리문들을 수행 후 원하는 행만 ✂️ 컷 ✂️ 해주는 기능이다. 쿼리문 작성 순서와 데이터 처리 순서는 SQLD 시험에서도 단골 문제로 등장하는 내용이므로 리마인드! ⇩⇩⇩ 📍 쿼리문 작성 순서 SELECT - FROM - WHRER - GROUP BY - HAVING - ORDER BY - LIMIT 📍 데이터 처리 순서 FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY - LIMIT 그럼 지금부터 LIMIT과 OFFSET의 의미와 예시를 살펴보겠다. | LIMIT N행까지만 출력하기 LIMIT {N행} 예시 1) LIMIT 4 ; ..
[My SQL] DATE_FORMAT 함수 / 날짜에서 요일, 시간 값 출력하기 이전 포스팅에서 요일별 매출 출력을 위해 DAYOFWEEK 함수를 활용해서 숫자형 데이터로 요일을 출력하는 방법을 소개했다. 2023.02.22 - [Tools/My SQL] - [My SQL] 요일별 매출 - DAYOFWEEK 함수 / 날짜에서 요일 출력하기 [My SQL] 요일별 매출 - DAYOFWEEK 함수 / 날짜에서 요일 출력하기 2023년 2월 마지막주를 달려가고 있다. 시간 순삭..😇 2023년 1월달 요일별 매출을 알아봐야 한다고 가정해보자. 테이블과 컬럼은 아래와 같다. - Table: order - Column: customer_id, order_date, price 먼저 yyyy-m 4xyzw.tistory.com DAYOFWEEK 함수 사용 시 요일이 숫자로 출력이 되므로, 문자 ..
[My SQL] LAG 함수 / 현재값 vs 이전값 증감율(차이) 계산하기 LAG 함수는 현재 행을 기준으로 이전 값을 출력한다. 날짜, 매출, 수량 등의 차이 및 증감율을 계산할 때 사용하기 좋은 함수이므로, 전년 / 전월 / 전일 매출을 비교하거나, 유저의 첫 구매일과 마지막 구매일의 차이를 계산하여 구매주기를 파악하는 등 다양한 마케팅 지표로 활용될 수 있다 ☺️ ! LAG 함수의 기본적인 뼈대는 아래와 같다 ! LAG ( [컬럼명] , {N번째 행} ) OVER ( PARTITION BY [컬럼명] ORDER BY [컬럼명] ) - LAG([컬럼명],{N번째 행} ): [컬럼명] 기준으로 N번째 행 이전 값을 출력 - PARTITION BY [컬럼명] : [컬럼명] 기준으로 그룹핑 > PARTITION BY는 GROUP BY와 유사한 기능이다. - ORDER BY [컬럼..
[My SQL] 요일별 매출 - DAYOFWEEK 함수 / 날짜에서 요일 출력하기 2023년 2월 마지막주를 달려가고 있다. 시간 순삭..😇 새해도 빠르게 지났으니,, 2023년 1월달 요일별 매출을 알아봐야 한다고 가정해보자. 테이블과 컬럼은 아래와 같다. - Table: order - Column: customer_id, order_date, price 먼저 yyyy-mm-dd 형태의 order_date 컬럼을 요일로 변환하는 작업이 필요하다. 이때 데이터를 요일로 변환해주는 함수를 사용할 수 있는데, 바로 DAYOFWEEK 함수이다. | DAYOFWEEK DAYOFWEEK 함수는 요일을 아래와 같이 숫자 형태로 출력해준다. DAYOFWEEK 출력값 의미 1 일요일 2 월요일 3 화요일 4 수요일 5 목요일 6 금요일 7 토요일 함수를 알았으니 쿼리문을 만들어본다. SELECT D..
[SQLD 합격] 46회 SQL 개발자 시험 비전공자 2수 합격 + 가이드라인 45회 SQLD에서 58점으로 불합격을 받고 다시 46회에 응시에서 66점으로 드디어 합격! 쏘리질러~~~ 처음 도전했던 SQLD에서 불합으로 떨어지고, 다음 시험을 또 준비해야한다는 생각에 아찔하고 막막했다.. 그래도 2번째 공부라서 기본 개념 및 빈출 개념이 어느정도 잡힌 상태여서 오히려 공부하기엔 수월했던 편! 이번엔 첫 시험준비에서 구멍난 개념들을 확실하게 채우고, 노랭이의 모든 문제를 잡고 가겠다! 라는 생각으로 2수에 임했다. 첫 시험에서 고배를 마시고 느꼈던 점은 기본 개념과 노랭이책을 탄탄하게 준비해야한다는 것이다. 기본 개념 + 노랭이 책 모두 모두 중요하다! 개념을 확실히 하지 않으면 객관식 문제에서 실수하게되고, 노랭이 책을 철저하게 준비하지 않으면 토씨 하나 안틀리고 똑같이 출제된 ..
[My SQL] NULL 값 대응 - COALESCE(코어레스) / IFNULL 함수 SQL에서 NULL은 아무 데이터가 있지 않은 상태를 말한다. 이 데이터 공백을 누락한 채 Average(AVG) 같은 연산 식을 구하면 결과값에 큰 차이가 날 수 있는데, 이때 COALESCE(코어레스) 함수와 IFNULL 함수 구문을 사용하여 대응할 수 있다. 구문을 살펴보기 이전에 'Coalesce'라는 단어의 사전적 의미를 찾아보았다. (더 큰 덩어리로) 합치다/연합하다/제휴하다 사전적 의미에서 보았듯이, NULL값을 반환하여 데이터에 포함시킨 후 정확한 데이터 값을 추출할 수 있도록 하는 것이다! NULL값을 연산 데이터에 포함시키는 방법은 2가지가 있다. 1. COALESCE(컬럼명, 0) > 컬럼값이 NULL이면 0을 반환한다. 2. IFNULL(컬럼명,0) > 컬럼값이 NULL이면 0을 반..
[My SQL] 구매빈도(Frequency) 확인 - 중복 값 산출 쿼리문 요즘 Tableau 스터디로 인해 우선순위 밀려난 SQL (!!!) 1일 1쿼하기로 했는데 말이지..🤦🏻‍♀️ 오늘은 W3Schools가 아닌, My SQL Workbench 프로그램을 사용하여 쿼리문 작성을 연습했다. 고객이 얼마나 자주, 빈번하게 구매를 했는가가 중요한 KPI가 될 수 있을 것이다. 이를 파악할 수 있도록 구매 데이터에서 고객 중복 값을 산출하여 구매빈도를 확인하는 구문을 아래와 같이 작성하였다. SELECT CustomerName, CustomerID, COUNT(*) AS cnt FROM OrderDetails GROUP BY CustomerID, CustomerName HAVING COUNT(CustomerID) > 1 AND COUNT(CustomerName) > 1 ORDER..

728x90
728x90