반응형

🗓️ 문제 설명

  • 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

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 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

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 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

id name
1 IT
2 Sales
  • 출력 예시
Department Employee Salary
IT Jim 90000
Sales Henry 80000
IT MAX 90000

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 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

id customerId
1 3
2 1
  • 출력 예시
Customers
Henry
Max

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 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
  • 출력 예시
ConsecutiveNums
1

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

다른 코드 풀이(Window함수 사용)

더보기

- mssql 이용

반응형
반응형

🗓️ 문제 설명

  • 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
  • 출력 예시
Email
a@b.com

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 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 : 함수를 동작시키는 쿼리문 끝

 

반응형
반응형

🗓️ 문제 설명

  • Employee 테이블의 id, salary는 각각 ID, 급여를 나타냅니다.
  • id는 기본키입니다.
Column name Type
id int
salary int

 

문제

  • Employee에서 두번째로 높은 급여를 조회하는 SQL문을 작성해주세요.
  • 만약 두번째로 높은 급여가 없다면 null를 기록해주세요.
  • 문제 예시
id salary
1 100
2 200
3 300
  • 출력 예시
SecondHighestSalary
200

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 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

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 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
  • 출력 예시
Employee
Joe

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형

+ Recent posts