반응형

🗓️ 문제 설명

  • Products 테이블의 product_id, new_price, change_date는 각각 상품ID, 새로운 가격, 가격 변동 일자를 나타냅니다.
  • product_id와 change_date는 해당 테이블의 기본키입니다.
Column name Type
product_id int
new_price int
change_date date

 

문제

  • 2019년 8월 16일에 모든 상품 가격을 찾는 SQL문을 작성해주세요.
  • 변경전 모든 상품의 가격은 10이라고 가정합니다.
  • 문제 예시
product_id new_price change_date
1 20 2019-08-14
2 50 2019-08-14
1 30 2019-08-15
1 35 2019-08-16
2 65 2019-08-17
3 20 2019-08-18
  • 출력 예시
product_id price
2 50
1 35
3 10

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

'코딩문제풀이 > SQL' 카테고리의 다른 글

[LeetCode] Article Views I (SQL)  (0) 2023.07.17
[LeetCode] Movie Rating (SQL)  (0) 2023.07.14
[LeetCode] User Activity for the Past 30 Days I (SQL)  (0) 2023.07.10
[LeetCode] Exchange Seats (SQL)  (0) 2023.07.06
[LeetCode] Tree Node (SQL)  (0) 2023.07.03
반응형

🗓️ 문제 설명

  • Views 테이블의 article_id, author_id, viewer_id, view_date는 각각 아티클ID, 작가ID, 독자ID, 읽은 날짜를 나타냅니다.
  • Views 테이블은 기본키가 없고, 중복된 값이 있을 수 있습니다.
Column name Type
article_id int
author_id int
viewer_id int
view_date date

 

문제

  • 자신이 쓴 아티클을 최소 한 번이상 읽은 작가의 ID를 조회하는 SQL문을 작성해주세요.
  • 결과는 id순으로 오름차순 정렬해주세요.
  • 문제 예시
article_id author_id viewer_id view_date
1 3 5 2019-08-01
1 3 6 2019-08-02
2 7 7 2019-08-01
2 7 6 2019-08-02
4 7 1 2019-07-22
3 4 4 2019-07-21
3 4 4 2019-07-21
  • 출력 예시
id
4
7

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • Movies 테이블의 movie_id, title은 각각 영화ID, 영화 제목을 나타냅니다.
  • movie_id는 해당 테이블의 기본키입니다.
Column Name Type
movie_id int
title varchar
  • Users 테이블의 user_id, name은 각각 유저ID, 유저이름을 나타냅니다.
  • user_id는 해당 테이블의 기본키입니다.
Column Name Type
user_id int
name varchar
  • MovieRating 테이블의 movie_id, user_id, rating, created_at는 각각 영화ID, 유저ID, 평점, 기록날짜를 나타냅니다.
  • movie_id와 user_id는 해당 테이블의 기본키입니다.
Column Name Type
movie_id int
user_id int
rating int
created_at date

 

문제

  • 가장 많은 영화에 리뷰를 작성한 유저 이름과 2020년 2월에 가장 높은 평균 평점을 갖는 영화 제목을 조회하는 SQL문을 작성해주세요.
  • 가장 많은 영화에 리뷰를 작성한 유저가 둘 이상인 경우, 사전순으로 정렬했을 때 위에 표시되는 유저 이름을 조회해주세요.
  • 가장 높은 평균 평점을 갖는 영화가 둘 이상인 경우, 사전순으로 정렬했을 때 위에 표시되는 영화 제목을 조회해주세요.
  • 문제 예시

Movies

movie_id title
1 Avengers
2 Frozen 2
3 Joker

Users

user_id name
1 Daniel
2 Monica
3 Maria
4 James

MovieRating

movie_id user_id rating created_at
1 1 3 2020-01-12
1 2 4 2020-02-11
1 3 2 2020-02-12
1 4 1 2020-01-01
2 1 5 2020-02-17
2 2 2 2020-02-01
2 3 2 2020-03-01
3 1 3 2020-02-22
3 2 4 2020-02-25
  • 출력 예시
results
Daniel
Frozen 2

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • Activity 테이블의 user_id, session_id, activity_date, activity_type은 각각 유저ID, 세션ID, 활동일자, 활동종류를 나타냅니다.
  • Activity에는 기본키가 없으며 중복값이 있을 수 있습니다.
  • 활동종류(activity_type)에는 open_session(세션 시작), end_session(세션 끝), scroll_down(스크롤내림), send_message(메시지 발송)이 있습니다.
  • 해당 테이블은 소셜 미디어 웹사이트에 대한 사용자 활동을 보여줍니다.
  • 각 세션은 정확히 한 명의 사용자에게 속합니다. 
Column name Type
user_id int
session_id int
activity_date date
activity_type enum

 

문제

  • 2019년 7월 27일을 포함한 날까지 30일 동안 일일 활성 사용자 수를 찾는 SQL 쿼리를 작성해주세요.
  • 해당 날짜에 활동을 한 번 이상 수행한 사용자는 언젠가는 활동한 것입니다.
  • 문제 예시
user_id session_id activity_date activity_type
1 1 2019-07-20 open_session
1 1 2019-07-20 scroll_down
1 1 2019-07-20 end_session
2 4 2019-07-20 open_session
2 4 2019-07-21 send_message
2 4 2019-07-21 end_session
3 2 2019-07-21 open_session
3 2 2019-07-21 send_message
3 2 2019-07-21 end_session
4 3 2019-06-25 open_session
4 3 2019-06-25 end_session
  • 출력 예시
day active_users
2019-07-20 2
2019-07-21 2

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

'코딩문제풀이 > SQL' 카테고리의 다른 글

[LeetCode] Article Views I (SQL)  (0) 2023.07.17
[LeetCode] Movie Rating (SQL)  (0) 2023.07.14
[LeetCode] Exchange Seats (SQL)  (0) 2023.07.06
[LeetCode] Tree Node (SQL)  (0) 2023.07.03
[LeetCode] Market Analysis I (SQL)  (0) 2023.06.29
반응형

🗓️ 문제 설명

  • Seat 테이블의 id, student는 각각 좌석 ID, 학생 이름을 나타냅니다.
  • id는 기본키이며 연속적으로 증가합니다.
Column name  Type
id int
student varchar

 

문제

  • 모든 연속된 두 학생의 좌석 ID를 변경해주세요.
  • 만약 좌석 숫자가 홀수라면 마지막 학생은 좌석을 변경하지 않습니다.
  • 문제 예시
id student
1 Abbot
2 Doris
3 Emerson
4 Green
5 Jeames
  • 출력 예시
id student
1 Doris
2 Abbot
3 Green
4 Emerson
5 Jeames

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

'코딩문제풀이 > SQL' 카테고리의 다른 글

[LeetCode] Movie Rating (SQL)  (0) 2023.07.14
[LeetCode] User Activity for the Past 30 Days I (SQL)  (0) 2023.07.10
[LeetCode] Tree Node (SQL)  (0) 2023.07.03
[LeetCode] Market Analysis I (SQL)  (0) 2023.06.29
[HackerRank] The Report (SQL)  (0) 2023.06.26
반응형

🗓️ 문제 설명

  • Tree 테이블의 id, p_id는 각각 노드의 ID, 부모 노드의 ID를 나타냅니다.
  • id는 테이블의 기본키입니다.
  • 주어진 구조는 항상 유효합니다.
Column name Type
id int
p_id int

 

문제

  • 트리의 각 노드는 3가지 유형 중 1가지를 나타냅니다.
    • 'Leaf' : 노드가 리프 노드인 경우
    • 'Root' : 노드가 트리의 루트인 경우
    • 'Inner' : 노드가 리프 노드와 루트 노드가 아닌 경우
  • 트리의 각 노드 유형을 조회하는 SQL 문을 작성해주세요.
  • 문제 예시
id p_id
1 null
2 1
3 1
4 2
5 2
  • 출력 예시
id type
1 Root
2 Inner
3 Leaf
4 Leaf
5 Leaf

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • Users 테이블의 user_id, join_date, favorite_brand는 각각 고객 ID, 가입날짜, 좋아하는 브랜드를 나타냅니다.
  • User_id는 기본키입니다.
Column name Type
user_id int
join_date date
favorite_brand varchar
  • Orders 테이블의 order_id, order_date, item_id, buyer_id, seller_id는 각각 주문ID, 주문날짜, 제품ID, 구매자ID, 판매자ID를 나타냅니다.
  • Order_id는 기본키이고, buyer_id, seller_id는 user 테이블의 외래키이고, item_id는 item 테이블의 외래키입니다.
Column name Type
order_id int
order_date date
item_id int
buyer_id int
seller_id int
  • Item 테이블의 item_id, item_brand는 각각 제품ID, 제품 브랜드를 나타냅니다.
  • Item_id는 기본키입니다.
Column name Type
item_id int
item_brand varchar

 

문제

  • 각 사용자와 가입날짜, 2019년에 주문이 이루어진 수를 SQL문으로 작성해주세요.
  • 문제 예시

USERS

user_id join_date favorite_brand
1 2018-01-01 Lenovo
2 2018-02-09 Samsung
3 2018-01-19 LG
4 2018-05-21 HP

ORDERS

order_id order_date item_id buyer_id seller_id
1 2019-08-01 4 1 2
2 2018-08-02 2 1 3
3 2019-08-03 3 2 3
4 2018-08-04 1 4 2
5 2018-08-04 1 3 4
6 2019-08-05 2 2 4

ITEMS

item_id item_brand
1 Samsung
2 Lenovo
3 LG
4 HP

 

  • 출력 예시
buyer_id join_date orders_in_2019
1 2018-01-01 1
2 2018-02-09 2
3 2018-01-19 0
4 2018-05-21 0

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

'코딩문제풀이 > SQL' 카테고리의 다른 글

[LeetCode] Exchange Seats (SQL)  (0) 2023.07.06
[LeetCode] Tree Node (SQL)  (0) 2023.07.03
[HackerRank] The Report (SQL)  (0) 2023.06.26
[LeetCode] Project Employee I (SQL)  (0) 2023.06.22
[LeetCode] Product Sales Analysis III (SQL)  (0) 2023.06.19
반응형

🗓️ 문제 설명

  • Studens 테이블의 ID, Name, Marks는 각각 학생 ID, 학생 이름, 점수를 나타냅니다.
Column  Type
ID Integer
Name String
Marks Integer
  • Grades 테이블의 Grade, Min_Mark, Max_Mark는 각각 등급, 최소 점수, 최대 점수를 나타냅니다.
Grade Min_Mark Max_Mark
1 0 9
2 10 19
3 20 29
4 30 39
5 40 49
6 50 59
7 60 69
8 70 79
9 80 89
10 90 100

 

문제

  • 각 학생의 이름과 등급, 점수를 조회하는 SQL문을 작성해주세요.
  • 8등급 미만의 학점을 받은 학생들은 이름을 Null로 표시합니다.
  • 등급별로 내림차순 정렬을 해주시고, 등급이 같을 경우에는 이름 순으로 정렬해주세요.
  • 8등급 이하의 학생들은 등급별로 내림차순 정렬을 해주시고, 점수를 기준으로 오름차순 정렬을 해주세요.
  • 문제 예시

Students

ID Name Marks
1 Julia 88
2 Samantha 68
3 Maria 99
4 Scarlet 78
5 Ashley 63
6 Jane 81
  • 출력 예시
Name Grade Marks
Maria 10 99
Jane 9 81
Julia 9 88
Scarlet 8 78
NULL 7 63
NULL 7 68

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

'코딩문제풀이 > SQL' 카테고리의 다른 글

[LeetCode] Tree Node (SQL)  (0) 2023.07.03
[LeetCode] Market Analysis I (SQL)  (0) 2023.06.29
[LeetCode] Project Employee I (SQL)  (0) 2023.06.22
[LeetCode] Product Sales Analysis III (SQL)  (0) 2023.06.19
[LeetCode] Swap Salary (SQL)  (0) 2023.06.15
반응형

🗓️ 문제 설명

  • Project 테이블의 project_id, employee_id는 각각 프로젝트ID, 직원ID를 나타냅니다.
  • Project_id, employee_id는 기본키이며, employee_id는 Employee 테이블의 외래키입니다.
Column name Type
project_id int
employee_id int
  • Employee 테이블의 employee_id, name, experience_years는 각각 직원ID, 직원이름, 경력 년수를 나타냅니다.
  • Employee_id는 기본키입니다.

 

문제

  • 각 프로젝트에 대한 모든 직원의 평균 경력 년수를 두 번째 자리에서 반올림하여 조회하는 SQL문을  작성해주세요.
  • 문제 예시

Project

project_id employee_id
1 1
1 2
1 3
2 1
2 4

Employee

employee_id name experience_years
1 Khaled 3
2 Ali 2
3 John 1
4 Doe 2
  • 출력 예시
project_id average_years
1 2.00
2 2.50

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • Sales 테이블의 sale_id, product_id, year, quantity, price는 각각 판매ID, 상품ID, 판매연도, 판매량, 판매액을 나타냅니다.
  • Sale_id, year는 기본키이며, product_id는 Product 테이블의 외래키입니다.
  • Price는 개당 가격입니다.
Column name Type
sale_id int
product_id int
year int
quantity int
price int
  • Product 테이블의 product_id, product_name은 각각 상품ID, 상품명을 나타냅니다.
  • Product_id는 기본키입니다.
Column name Type
product_id int
product_name varchar

 

문제

  • 각 상품별로 처음 판매된 상품의 상품ID, 판매연도, 판매량, 판매액을 조회하는 SQL문을 작성해주세요.
  • 문제 예시

Sales

sale_id product_id year quantity price
1 100 2008 10 5000
2 100 2009 12 5000
7 200 2011 15 9000

Product

product_id product_name
100 Nokia
200 Apple
300 Samsung

 

  • 출력 예시
product_id first_year quantity price
100 2008 10 5000
200 2011 15 9000

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

+ Recent posts