leetcode
오늘밤공부
2023. 5. 9. 11:00
2023. 5. 9. 11:00
🗓️ 문제 설명
Activity테이블의 player_id와 event_date는 기본키입니다.
데이터는 로그아웃하기 전에 로그인하고 게임을 즐긴 플레이어에 대한 기록입니다.
Column name
Type
player_id
int
device_id
int
event_date
date
games_played
int
❓문제
각 플레이어가 가장 처음 로그인한 기록을 조회하는 SQL문을 작성해주세요.
문제 예시
player_id
device_id
event_date
games_played
1
2
2016-03-01
5
1
2
2016-05-02
6
2
3
2017-06-25
1
3
1
2016-03-02
0
3
4
2018-07-03
5
player_id
first_login
1
2016-03-01
2
2017-06-25
3
2016-03-02
💻 코드
최종 코드
코드 풀이
오늘밤공부
2023. 5. 8. 11:00
2023. 5. 8. 11:00
🗓️ 문제 설명
Person 테이블의 id는 기본키입니다.
Person 테이블의 email은 소문자로 되어있습니다.
Column name
Type
id
int
email
varchar
❓문제
가장 작은 ID를 가진 하나의 고유한 이메일만 유지하면서 모든 중복 이메일을 삭제하는 SQL문을 작성해주세요.
SELECT문 대신 DELETE 문으로 작성해주세요.
문제 예시
id
email
1
john@example.com
2
bob@example.com
3
john@example.com
id
email
1
john@example.com
2
bob@example.com
💻 코드
최종 코드
코드 풀이
오늘밤공부
2023. 5. 5. 11:00
2023. 5. 5. 11:00
🗓️ 문제 설명
Employee 테이블의 id, name, salary, departmentId는 각각 id, 직원이름, 임금, 부서를 의미합니다.
id는 기본키입니다.
departmentId는 Department 테이블의 외래키입니다
Column name
Type
id
int
name
varchar
salary
int
departmentId
int
Department 테이블의 id, name은 부서 ID, 부서명을 의미합니다.
❓문제
각 부서에서 임금이 제일 높은 직원을 조회하는 SQL문을 작성해주세요.
문제 예시
Employee
id
name
salary
departmentId
1
Joe
70000
1
2
Jim
90000
1
3
Henry
80000
2
4
Sam
60000
2
5
Max
90000
1
Department
Department
Employee
Salary
IT
Jim
90000
Sales
Henry
80000
IT
MAX
90000
💻 코드
최종 코드
코드 풀이
오늘밤공부
2023. 5. 4. 11:00
2023. 5. 4. 11:00
🗓️ 문제 설명
Customers 테이블의 id, name은 각각 ID와 이름을 의미합니다.
id는 기본키입니다.
Column name
Type
id
int
name
varchar
Order 테이블의 id, customerId는 각각 id와 고객 id를 의미합니다.
customerId는 Customers의 외래키입니다.
id는 기본키입니다.
Column name
Type
id
int
customerId
int
❓문제
아무것도 주문하지 않은 고객을 조회하는 SQL문을 작성해주세요.
문제 예시
Customers
id
name
1
Joe
2
Henry
3
Sam
4
Max
Orders
💻 코드
최종 코드
코드 풀이
오늘밤공부
2023. 5. 2. 11:22
2023. 5. 2. 11:22
🗓️ 문제 설명
Logs 테이블의 id, num은 각각 id와 숫자를 의미합니다.
id는 기본키이며, autoincrement 컬럼입니다.
Column name
Type
id
int
num
varchar
❓문제
연속으로 3번 이상 나오는 모든 숫자를 조회하는 SQL문을 작성해주세요.
문제 예시
id
num
1
1
2
1
3
1
4
2
5
1
6
2
7
2
💻 코드
최종 코드
코드 풀이
다른 코드 풀이(Window함수 사용)
오늘밤공부
2023. 5. 1. 11:00
2023. 5. 1. 11:00
🗓️ 문제 설명
Person 테이블의 id, email은 각각 id와 메일주소를 나타냅니다.
id는 기본키입니다.
email은 소문자로만 이루어져 있습니다.
Column name
Type
id
int
email
varchar
❓문제
중복된 메일주소를 조회하는 SQL문을 작성해주세요.
문제 예시
id
email
1
a@b.com
2
c@d.com
3
a@b.com
💻 코드
최종 코드
코드 풀이
오늘밤공부
2023. 4. 30. 11:00
2023. 4. 30. 11:00
🗓️ 문제 설명
Employee 테이블의 id, salary는 각각 ID와 임금을 나타냅니다.
id는 기본키입니다.
Column name
Type
id
int
salary
int
❓문제
N이라는 정수가 주어질 때, N번째로 높은 임금을 조회하세요.
만약 N번째로 높은 임금이 없을 경우 NULL 값을 반환하세요.
문제 예시
id
salary
1
100
2
200
3
300
n = 2
getNthHighestSalary(2)
200
💻 코드
최종 코드
코드 풀이
더보기
알게된 점
CREATE FUNCTION ---(변수 INT) : 함수 생성 실시 --- 인풋 파라미터 값으로 변수 정수를 받음 RETURNS : 결과 반환시 데이터 형태 정의 BEGIN : 함수를 동작시키는 쿼리문 작성 시작 RETURN : 리턴 결과 반환 END : 함수를 동작시키는 쿼리문 끝
오늘밤공부
2023. 4. 29. 11:00
2023. 4. 29. 11:00
🗓️ 문제 설명
Employee 테이블의 id, salary는 각각 ID, 급여를 나타냅니다.
id는 기본키입니다.
Column name
Type
id
int
salary
int
❓문제
Employee에서 두번째로 높은 급여를 조회하는 SQL문을 작성해주세요.
만약 두번째로 높은 급여가 없다면 null를 기록해주세요.
문제 예시
id
salary
1
100
2
200
3
300
💻 코드
최종 코드
코드 풀이
오늘밤공부
2023. 4. 28. 11:00
2023. 4. 28. 11:00
🗓️ 문제 설명
Scores 테이블은 한 게임의 점수를 포함하고 있습니다.
Scores 테이블의 id, score는 각각 ID, 점수를 나타냅니다.
score는 실수로 소수점 두번째 자리까지만 존재합니다.
id는 기본키입니다.
Column name
Type
id
int
score
decimal
❓문제
다음의 규칙에 따라 순위를 계산하는 SQL문을 작성해주세요.
점수는 내림차순으로 정렬하여 순위를 매겨주세요.
만약 같은 점수가 있다면 같은 순위로 묶어주세요.
순위의 공백없이 순위를 매겨주세요.
문제 예시
id
score
1
3.50
2
3.65
3
4.00
4
3.85
5
4.00
6
3.65
score
rank
4.00
1
4.00
1
3.85
2
3.65
3
3.65
3
3.50
4
💻 코드
최종 코드
코드 풀이
오늘밤공부
2023. 4. 27. 11:01
2023. 4. 27. 11:01
🗓️ 문제 설명
Employee 테이블의 id, name, salary, managerId는 각각 ID, 이름, 임금, 관리자ID를 나타냅니다.
id는 기본키입니다.
Column name
Type
id
int
name
varchar
salary
int
managerId
int
❓문제
관리자보다 임금이 높은 직원을 찾는 SQL 문을 작성해주세요.
컬럼명은 Employee로 지정해주세요.
문제 예시
id
name
salary
managerId
1
Joe
70000
3
2
Henry
80000
4
3
Sam
60000
Null
4
Max
90000
Null
💻 코드
최종 코드
코드 풀이