반응형

🗓️ 문제 설명

  • 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

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 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
반응형

🗓️ 문제 설명

  • 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

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • Salary 테이블의 id, name, sex, salary는 각각 직원 ID, 직원 이름, 직원 성별, 직원 급여를 나타냅니다.
  • Id는 테이블의 기본키입니다.
  • Sex 열은 'm', 'f'값만 존재합니다.
Column name Type
id int
name varchar
sex ENUM
salary int

 

문제

  • 중간 임시 테이블 없이 단일 업데이트 문으로 직원 성별의 모든 'f'와 'm'값을 교환하는 SQL문을 작성해주세요.
  • 단일 업데이트 문을 작성해야 하며, 이 문제에 대한 SELECT문을 작성하지 마세요.
  • 문제 예시
id name sex salary
1 A m 2500
2 B f 1500
3 C m 5500
4 D f 500
  • 출력 예시
id name sex  
1 A f 2500
2 B m 1500
3 C f 5500
4 D m 500

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 정수 x가 주어졌을 때, x가 회문이라면 true를 회문이 아니라면 false를 반환해주세요.
  • 제한 사항
    • -2³¹ ≤ x ≤ 2³¹ - 1
  • 입출력 예시
x result
121 True
-121 False
10 False

 

💻 코드

최종 코드

 

코드 풀이

 

 

반응형
반응형

🗓️ 문제 설명

  • Sales 테이블의 sale_id, product_id, year, quantity, price는 각각 판매ID, 상품ID, 판매연도, 판매량, 단위당 가격을 나타냅니다.
  • Sale_id, year은 기본키입니다.
  • Product_id는 Product 테이블의 외래키입니다.
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

 

문제

  • Sales 테이블의 각 판매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_name year price
Nokia 2008 5000
Nokia 2009 5000
Apple 2011 9000

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • ActorDirector 테이블의 actor_id, director_id, timestamp는 각각 배우ID, 감독ID, 회차를 나타냅니다.
  • timestamp는 기본키입니다.
Column name Type
actor_id int
director_id int
timestamp int

 

문제

  • 배우가 감독과 최소 3번 함께 작업한 경우를 (actor_id, director_id)로 조회하는 SQL문을 작성해주세요.
  • 문제 예시
actor_id director_id timestamp
1 1 0
1 1 1
1 1 2
1 2 3
1 2 4
2 1 5
2 1 6
  • 출력 예시
actor_id director_id
1 1

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 정수 배열 nums와 정수 target이 주어졌을 때, target과 nums 내의 두 숫자가 같아지는 숫자의 인덱스를 반환해주세요.
  • 제한 사항
    • 동일한 요소를 두 번 사용할 수 없음
    • 각 입력에 정확히 하나의 솔루션이 있음
  • 입출력 예시
nums target result
[2, 7, 11, 15] 9 [0, 1]
[3, 2, 4] 6 [1, 2]
[3, 3] 6 [0, 1]

 

💻 코드

최종 코드

 

코드 풀이

 

다른 사람 풀이

더보기

풀이 1번

  1. d = {} : 숫자와 인덱스를 담을 딕셔너리 생성
  2. for i, j in enumerate(nums) : nums에서 인덱스와 값을 꺼내는 반복문 실행
  3. r = target - j : target에서 리스트 nums에서 꺼낸 값을 뺀 후 저장
  4. if r in d : return [d[r], i] : 만약 3번에서 저장한 r이 1번에서 생성한 딕셔너리 d에 있다면 r의 인덱스와 현재 값의 인덱스를 반환
  5. d[j] = i : 딕셔너리 d에 값과 인덱스를 key-value 형식으로 저장

 

반응형
반응형

🗓️ 문제 설명

  • Cinema 테이블의 id, movie, description, rating은 각각 영화의 이름, 장르, 설명, 별점을 나타냅니다.
  • id는 기본키이고, 별점은 [0, 10] 범위의 부동소수점 둘째자리입니다.
Column name Type
id int
movie varchar
description varchar
rating float

 

문제

  • 홀수 ID와 '지루하지 않은' 설명으로 영화를 보고하는 SQL문을 적성해주세요.
  • 등급별로 내림차순으로 정렬된 결과를 반환해주세요.
  • 문제 예시
id movie description rating
1 War great 3D 8.9
2 Science fiction 8.5
3 irish boring 6.2
4 Ice song Fantacy 8.6
5 House card Interesting 9.1
  • 출력 예시
id movie description rating
5 House card Interesting 9.1
1 War great 3D 8.9

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • MyNumbers 테이블의 num은 중복을 포함한 숫자를 나타냅니다.
  • num은 기본키입니다.
Column name Type
num int

 

문제

  • 단일 번호는 MyNumbers 테이블에 한 번만 나타난 번호입니다.
  • 가장 큰 단일 번호를 조회하는 SQL문을 작성해주세요.
  • 숫자가 하나도 없으면 null을 반환해주세요.
  • 문제 예시
num
8
8
3
3
1
4
5
6
  • 출력 예시
num
6

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

+ Recent posts