profile
성장하는 주니어 데이터 분석가(Tableau, SQL and Python)
post-thumbnail

프로그래머스 MySQL Lv.4 (2)

이제 Lv.4의 마지막 포스팅을 시작해보려고 한다. 프로그래머스는 Lv.5까지 있지만 Lv.5는 한 문제밖에 없어 프로그래머스 쿼리 포스팅은 이게 마지막일 것 같다. 그럼 마지막을 향해 Go Go! 1. 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 문제 설명 다음은 어느 자동차 대여 회사에서 대여 중인 자동차들의 정보를 담은 CARRENTALCOMPANYCAR 테이블과 자동차 대여 기록 정보를 담은 CARRENTALCOMPANYRENTALHISTORY 테이블과 자동차 종류 별 대여 기간 종류 별 할인 정책 정보를 담은 CARRENTALCOMPANYDISCOUNT_PLAN 테이블 입니다. CARRENTALCOMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CARID, CARTYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자

2023년 4월 29일
·
0개의 댓글
·
post-thumbnail

프로그래머스 MySQL Lv.4 (1)

Lv.4로 넘어가니 예전에 있던 문제들은 그래도 간단히 풀리는 문제들이 많았지만 새로 생긴 문제들을 상당히 어렵거나 아니면 문제가 답안과 약간 일치하지 않는 문제들이 있어 문제풀이하는데 애를 좀 먹었다. 하지만 결국 다 풀었으니 내가 어렵다고 생각한 문제들을 위주로 업로드 해보도록 하겠다! Let's Start! 1. 오프라인/온라인 판매 데이터 통합하기 문제 설명 다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINESALE 테이블과 오프라인 상품 판매 정보를 담은 OFFLINESALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINESALEID, USERID, PRODUCTID,

2023년 4월 23일
·
0개의 댓글
·
post-thumbnail

프로그래머스 MySQL Lv.3 (2)

요즘 데이터 엔지니어링 인강과 Tableau 대시보드를 하나 만들었더니 본의아니게 프로그래머스 Lv.3 업로드에 소홀하게 되었다. 바로 시작해보도록 하자! 1. 조건에 맞는 사용자와 총 거래금액 조회하기 문제 설명 다음은 중고 거래 게시판 정보를 담은 USEDGOODSBOARD 테이블과 중고 거래 게시판 첨부파일 정보를 담은 USEDGOODSFILE 테이블입니다. USEDGOODSBOARD 테이블은 다음과 같으며 BOARDID, WRITERID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS는 게시글 ID, 작성자 ID, 게시글 제목, 게시글 내용, 가격, 작성일, 거래상태, 조회수를 의미합니다. | Column name | Type | Nullable | | --- | --- | --- | | BOARD_ID | VARCHAR(5) | FALSE | |

2023년 4월 14일
·
0개의 댓글
·
post-thumbnail

프로그래머스 MySQL Lv.3 (1)

이번주에 프로그래머스 Lv.3을 다 풀었기 때문에 이번에도 2개의 포스팅으로 나누어 업로드 해볼 생각이다. 역시 Lv.3에 들어오니 문제가 ㅎㄷㄷ하게 바뀌는 중인데... 같이 한번 알아보자! Let's Go~ 1. 오랜 기간 보호한 동물(2) 문제 설명 ANIMALINS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMALINS 테이블 구조는 다음과 같으며, ANIMALID, ANIMALTYPE, DATETIME, INTAKECONDITION, NAME, SEXUPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. | NAME | TYPE | NULLABLE | | --- | --- | --- | | ANIMAL_ID | VARCHAR(N) | FALSE | | ANIMAL_TYPE | VARCHAR(N) | F

2023년 4월 8일
·
0개의 댓글
·
post-thumbnail

프로그래머스 MySQL Lv.2 (2)

이번에는 Lv.2 두번째 시간이다. 먼저 프로그래머스는 문제가 조금 많기 때문에 업로드 하는 문제들은 내가 생각했을 때 어려운 것들을 올리기 때문에 모든 문제가 있지 않다는 점을 참고해주길 바란다. 그럼 Let's Go! 4. 가격대 별 상품 개수 구하기 문제 설명 다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCTID, PRODUCTCODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. | Column name | Type | Nullable | | --- | --- | --- | | PRODUCT_ID | INTEGER | FA

2023년 4월 2일
·
0개의 댓글
·
post-thumbnail

프로그래머스 MySQL Lv.2 (1)

Lv.1 포스팅을 마쳤으니 이제 Lv.2 포스팅을 해보겠다! Lv.2은 내용이 좀 많으므로 2개로 나누어 포스팅해보겠다! Let's go! 1. 자동차 평균 대여 기간 구하기 문제 설명 다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CARRENTALCOMPANYRENTALHISTORY 테이블입니다. CARRENTALCOMPANYRENTALHISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORYID, CARID, STARTDATE, ENDDATE 는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다. | Column name | Type | Nullable | | --- | --

2023년 4월 1일
·
0개의 댓글
·
post-thumbnail

프로그래머스 MySQL Lv.1

오랜만에 SQL 문제풀이로 돌아왔다! 태블로를 조금 덜하는 대신, 요즘에는 MySQL 문제풀이와 데이터 분석 독서에 집중하고 있던 찰나에 프로그래머스에 새로운 문제들이 추가되어 다시 한번 풀어보게 되었다. 그래서 이번에도 꾸준히 문제를 레벨 별로 풀어보고 기록에 남길만한 문제들을 올려보려고 한다. Lv.1과 Lv.2는 필요한 설명만 할 생각이다. Let's Go! 🚘 1. 특정 옵션이 포함된 자동차 리스트 구하기 문제 설명 다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CARRENTALCOMPANY_CAR 테이블입니다. CARRENTALCOMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CARID, `CARTY

2023년 3월 26일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 10

📧 Duplicate Emails Table: Person Write an SQL query to report all the duplicate emails. **Return the result table in any order. The query result format is in the following example.** Example 1: ✅ 해답 여기서는 * 한 개의 Person 테이블에서 중복된 이메일 값을 반환하면 쿼리를 작성*하면 된다. 뭔가 쉬워보이지만 사실 지금까지 우리는 중복제거한 값을 주로 찾았고 DISTINCT를 이용했다. 하지만 이번에는 카운팅을 중복된 값을 찾은 뒤 그 값을 반환해야하므로 조금 까다로울 수 있다. 이번에도 두 가지의 해답을 소개해보겠다. 하나는 HAVING을 이용하여 조건절을 이용하는 것이고 하나는

2022년 12월 30일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 9

🪙 Capital Gain/Loss Table: Stocks Write an SQL query to report the Capital gain/loss for each stock. The Capital gain/loss of a stock is the total gain or loss after buying and selling the stock one or many times. Return the result table in any order. The query result format is in the following example. Example 1: ✅ 해답 여기서는 ** 말그래도 자본의 유입과 손실을 계산하면 되는데 stock_name으로 GROUP BY하고 operation의 Buy, Sell일 때 유입과 손실을 계산하고 이를 price별로

2022년 12월 25일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 8

💁🏻‍♀️ Customer Placing the Largest Number of Orders Table: Orders Write an SQL query to find the customer_number for the customer who has placed the largest number of orders. The test cases are generated so that exactly one customer will have placed more orders than any other customer. The query result format is in the following example. Example 1: ✅ 해답 여기서는 * 가장 많이 주문한 사람의 customer_number의 값을 불러오는 쿼리를 작성*하면 된다. `

2022년 12월 24일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 7

🧑🏻‍💻 User Activity for the Past 30 Days I Table: Activity Write an SQL query to find the daily active user count for a period of 30 days ending 2019-07-27 inclusively. A user was active on someday if they made at least one activity on that day. Return the result table in any order. The query result format is in the following example. Example 1: ✅ 해답 여기서는 ** 2019년 7월 27일에서 를 뺀 날짜가 30일 미만인 날짜들 중 활동한 의 active_users가 몇명인지 반환하는 쿼리를

2022년 12월 20일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 6

🌡️ Rising Temperature Table: Weather Write an SQL query to find all dates' Id with higher temperatures compared to its previous dates (yesterday). Return the result table in any order. The query result format is in the following example. Example 1: ✅ 해답 여기서는 * 어제와 비교하여 기온이 높은 id를 반환하는 쿼리를 작성*하면 된다. 하지만 문제는 테이블이 하나 밖에 없다는 것이다!! 그렇다면 어제보다 더 높은 기온인지는 어떻게 알 수 있을까? 이 때 을 하면 된다. 은 따로 구문을 칠 필요 없이 절에 한번에 와 같이 적으면 구현된다.

2022년 12월 18일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 5

➕ Combine Two Tables Table: Person Table: Address Write an SQL query to report the first name, last name, city, and state of each person in the Person table. If the address of a personId is not present in the Address table, report null instead. Return the result table in any order. The query result format is in the following example. Example 1: ✅ 해답 여기서는 ** 위의 테이블에서 각각 값을 뽑아내어 재구성** 하는 것이다. 이를 적용하기 위해서는 간단하게 을

2022년 12월 18일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 4

❓Employees With Missing Information Table: Employees Table: Salaries Write an SQL query to report the IDs of all the employees with missing information. The information of an employee is missing if: The employee's name is missing, or The employee's salary is missing. Return the result table ordered by employee_id in ascending order. The query result format is in the following example. Example 1: ✅ 해답 여기서는 employee의 정보가 없는 것을 찾는 것인데 그 중에서도 <

2022년 12월 14일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 3

🛠️ Fix names in Table Table: Users Write an SQL query to fix the names so that only the first character is uppercase and the rest are lowercase. Return the result table ordered by user_id. The query result format is in the following example. Example 1: ✅ 해답 여기서는 ** 값의 첫번째 글자들을 대문자로 바꾸고 나머지는 소문자로 바꾸며 이 값을 순서로 정렬하는 것**이다. 이 문제를 해결하기 위해서는 몇가지 함수가 필요한데 일단 해답을 먼저 보자. 해답을 보니 몇가지가 아닌 것 같긴하지만 자세히 설명해보도록 하겠다. 일단 를 가지고 온다. 2

2022년 12월 10일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 2

🔍 들어가기전에 Leetcode에는 생각보다 당장의 주니어 데이터 분석가들에게 그닥 필요없는 구문을 강제하기도 한다. 특히 Day 2에서는 구문과 구문을 강제하는데 벨로그 포스팅에서는 과감히 빼려고한다. 왜냐하면 저 위 두 구문 중 구문은 더더욱이 쓰면 안되는? 것 중 하나이기 때문이다. 그럼 이번 포스팅에는 Day 2의 첫번째 문제와 그에 관련된 내용만 올려보겠다. 💻 Calculate Special Bonus SQL Schema Table: Employees **Write an SQL query to calculate the bonus of each employee. The bonus of an employee is 100% of their salary if the ID of the employee is an odd number and the employee name does not start with the character `'M

2022년 12월 10일
·
0개의 댓글
·
post-thumbnail

Leetcode SQL Solution Day 1

🧐 들어가기전에... 인턴 생활이 시작되고도 벌써 5일이 지난 지금 아직까지 적응하고있는 중이지만 틈틈히 SQL에 관한 포스팅도 올려보려 한다. 이번 시리즈는 라는 해외의 유명한 문제풀이 사이트로 몇 대기업의 코딩테스트 문제도 여기서 갖고 온다는 얘기가 있다. 그리고 일단 무자본인 우리네들에게 가장 좋은 SQL 친구인 MySQL 쿼리를 공부할 수 있는 좋은 곳이기도 하다. 그러므로 우리는 저 위의 사진에서 SQL I. 만 볼거다 ㅎㅎ (근데 회사에서는 쓴다..! OMG) 일단 Day 1은 4문제가 있는데 앞의 두 문제는 너무 쉬워 뒤의 두 문제만 올려보도록 하겠다. 또한 이제 여기서 주의할 점이 있다. 🚨 주의할 점 맨 처음 나는 Python에서 고전을 면치 못하고 있었기에 Leetcode에서의 문제들을 띠엄띠엄 풀고 있었다. 하지만 제목에서 보다시피 가 붙는 데에는 다 이유가 있는 법! 일단, 하루에 Day가 하나씩 열리

2022년 12월 9일
·
0개의 댓글
·