[SQL 달리기반] Lv5. 예산이 가장 큰 프로젝트는?

2025. 6. 19. 16:50·백엔드 부트캠프[사전캠프]/문제풀이
CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    Name VARCHAR(100),
    Department VARCHAR(50),
    Salary INT
);

INSERT INTO Employees (EmployeeID, Name, Department, Salary) VALUES
(1, 'Alice',   'HR',    5000),
(2, 'Bob',     'IT',    7000),
(3, 'Charlie', 'IT',    6000),
(4, 'David',   'HR',    4500),
(5, 'Eve',     'Sales', 5500),
(6, 'Frank',   'IT',    7200);

CREATE TABLE Projects (
    ProjectID INT PRIMARY KEY,
    ProjectName VARCHAR(100),
    Budget INT
);

INSERT INTO Projects (ProjectID, ProjectName, Budget) VALUES
(101, 'Alpha', 10000),
(102, 'Beta',  15000),
(103, 'Gamma', 12000),
(104, 'Delta', 8000);

CREATE TABLE EmployeeProjects (
    EmployeeID INT,
    ProjectID INT,
    PRIMARY KEY (EmployeeID, ProjectID),
    FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID),
    FOREIGN KEY (ProjectID) REFERENCES Projects(ProjectID)
);

INSERT INTO EmployeeProjects (EmployeeID, ProjectID) VALUES
(1, 101),
(2, 101),
(3, 102),
(4, 103),
(5, 104),
(6, 102),
(6, 103);

 

✅문제:

Employees 테이블:

EmployeeID
Name
Department
Salary
1
Alice
HR
5000
2
Bob
IT
7000
3
Charlie
IT
6000
4
David
HR
4500
5
Eve
Sales
5500
6
Frank
IT
7200

 

Projects 테이블:

ProjectID
ProjectName
Budget
101
Alpha
10000
102
Beta
15000
103
Gamma
12000
104
Delta
8000

 

EmployeeProjects 테이블:

EmployeeID
ProjectID
1
101
2
101
3
102
4
103
5
104
6
102
6
103

 

 

✅요구사항:

1.각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.

  • a. 출력 결과에는 직원의 이름, 부서, 그리고 월급이 포함되어야 합니다. 
  • b.기대 결과
Name
Department
Salary
Alice
HR
5000
Frank
IT
7200
Eve
Sales
5500

 

2.직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요. 

  • a.출력 결과에는 직원 이름, 프로젝트 이름, 그리고 프로젝트 예산이 포함되어야 합니다.
Name
ProjectName
Budget
Bob
Beta
15000
Charlie
Beta
15000
Frank
Beta
15000
David
Gamma
12000
Frank
Gamma
12000

 

 

✅제약사항:

  • 두 쿼리 모두 서브쿼리를 사용해주세요. 
  • 서브쿼리를 통해 특정 조건을 만족하는 데이터를 필터링하고, 그 결과를 최종 쿼리에 반영해야 합니다. 

 

 

✅문제풀이:

1.각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.

 

부서별 가장 높은 월급

select Department, max(Salary) 
from Employees
group by Department;

 

최종 결과

select e.Name, e.Department, e.Salary
from Employees e
where e.Salary = (
	select max(Salary) 
	from Employees e2
    where e2.Department=e.Department
);

 

 

 

 

2.직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요. 

select 
	e.Name, 
    p.ProjectName, 
    p.Budget
from Employees e
join EmployeeProjects ep on e.EmployeeID=ep.EmployeeID
join Projects p on p.ProjectID=ep.ProjectID
where p.Budget >= 10000;

 

 

 

 

 

 

'백엔드 부트캠프[사전캠프]/문제풀이' 카테고리의 다른 글
  • [JAVA 달리기반] Lv1. 랜덤 닉네임 생성기
  • [JAVA 걷기반] 반복문 연습하기
  • [SQL 달리기반] Lv5. 가장 많이 팔린 품목은?
  • [SQL 달리기반] Lv4. 가장 높은 월급을 받는 직원은?
s_y_130
s_y_130
  • s_y_130
    About SY
    s_y_130
  • 전체
    오늘
    어제
    • 분류 전체보기 (429)
      • JAVA (54)
        • 더 자바 8 (0)
        • JAVA (41)
        • JAVA (JVM) (13)
      • Computer Science (86)
        • CS Basic (7)
        • OOP (11)
        • Design Pattern (16)
        • Network (8)
        • HTTP (6)
        • WEB (22)
        • OS (16)
      • DataBase (29)
        • DB theory (15)
        • MySQL (14)
        • Redis (0)
      • Collection Framework (1)
        • 구현 (1)
      • Data Structure (14)
        • Linear (9)
        • Non-Linear (5)
      • Algorithm (19)
        • Basic (12)
        • 응용 (2)
        • 완전 탐색(Brute Force) (1)
        • 다익스트라 (1)
        • Algorithm Problem (3)
      • Spring (102)
        • 스프링 핵심 원리 - 기본편 (9)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (7)
        • 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (11)
        • 스프링 DB 1편 - 데이터 접근 핵심 원리 (6)
        • 스프링 DB 2편 - 데이터 접근 활용 기술 (10)
        • 스프링 핵심 원리 - 고급편 (13)
        • 스프링 부트 - 핵심 원리와 활용 (9)
        • Spring Security 6.x (2)
        • Spring Cloud로 개발하는 MSA (1)
        • 재고시스템으로 알아보는 동시성이슈 해결방법 (4)
        • 개념 (27)
        • 테스트 (0)
        • Annotation (1)
        • Error Log (2)
      • TEST (0)
        • 부하 테스트 (0)
        • Practical Testing: 실용적인 테스트.. (0)
      • JPA (40)
        • 자바 ORM 표준 JPA 프로그래밍 (12)
        • 1편- 실전! 스프링 부트와 JPA 활용 (7)
        • 2편- 실전! 스프링 부트와 JPA 활용 (4)
        • 실전! 스프링 데이터 JPA (6)
        • 실전! Querydsl (6)
        • 개념 (5)
      • 백엔드 부트캠프[사전캠프] (35)
        • TIL (12)
        • 문제풀이 (23)
      • Open Source (0)
      • Book Study (1)
        • Morden Java in Action (1)
        • Real MySQL 8.0 Vol.1 (0)
        • TDD : By Example (0)
      • AWS (0)
        • EC2 (0)
      • git (2)
      • AI (22)
        • Machine Learning (17)
        • Deep Learning (0)
        • TensorFlow (1)
        • PyTorch (1)
        • YOLO (1)
        • Data Analysis (0)
        • Ai code Error (1)
        • Numpy (1)
      • MY (0)
      • WEB (15)
        • Django (3)
        • WEB 개념 (1)
        • React (1)
        • Maven (10)
      • Python (6)
      • 기초수학 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_y_130
[SQL 달리기반] Lv5. 예산이 가장 큰 프로젝트는?
상단으로

티스토리툴바