SQL의 기본적인 쿼리문을 작성할 수 있다면, 달리기반 과제에 도전해보아요.
단순 문법을 사용하는 것 뿐 아니라 내가 정말 원하는 데이터를 출력하기 위한 한 걸음이 될 거예요!
과제를 수행하고나 나면 할 수 있어요!
•
서브쿼리를 활용해 특정 조건을 만족하는 데이터를 필터링하고, 이를 메인 쿼리에서 활용할 수 있다.
•
특정 조건을 기준으로 데이터를 분석하고, 원하는 결과를 추출할 수 있다.
•
다중 테이블 간의 관계를 이해할 수 있다.
Notification: 과제 시작 전 확인할 내용!
과제 시작 전 다음 내용을 셀프 체크해보세요.
SELECT, FROM, WHERE, JOIN 등의 기본 SQL 문법을 잘 이해하고 있어야 한다.
서브쿼리를 사용해 메인 쿼리의 조건을 강화하거나, 필터링에 활용하는 방법을 이해해야 한다.
WHERE 절과 서브쿼리를 결합해 특정 조건을 만족하는 데이터를 필터링할 수 있어야 한다.
테이블 간의 관계를 파악하고, 이를 기반으로 데이터를 조인하는 방법을 알고 있다.
본격적으로 시작해 볼까요?
문제:
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 |
제약사항:
•
두 쿼리 모두 서브쿼리를 사용해주세요.
•
서브쿼리를 통해 특정 조건을 만족하는 데이터를 필터링하고, 그 결과를 최종 쿼리에 반영해야 합니다.
완료하셨다면?
•
원활하게 작동되는 정답코드를 퀘스트로 제출해주세요
Google Docs[내일배움캠프] Spring 6기 퀘스트 제출하기
![link icon](https://ssl.gstatic.com/docs/forms/device_home/android_192.png)