SQLD데이터베이스 구축서브쿼리난이도 3MCQ

SQLD 서브쿼리 기출문제 #4169

문제

'영업' 부서의 평균 급여보다 더 많은 급여를 받는 직원의 EmpID, Name, Dept, Salary를 조회하는 SQL로 옳은 것은?

① SELECT EmpID, Name, Dept, Salary FROM Employees WHERE Dept='영업' AND Salary > (SELECT AVG(Salary) FROM Employees WHERE Dept='영업'); ② SELECT EmpID, Name, Dept, Salary FROM Employees WHERE Salary > (SELECT AVG(Salary) FROM Employees WHERE Dept='영업'); ③ SELECT EmpID, Name, Dept, Salary FROM Employees WHERE Salary = (SELECT AVG(Salary) FROM Employees WHERE Dept='영업'); ④ SELECT EmpID, Name, Dept, Salary FROM Employees WHERE Dept='영업' OR Salary > (SELECT AVG(Salary) FROM Employees WHERE Dept='영업');

정답

2

해설

정답: 2. 모든 직원 중 '영업' 부서 평균 급여보다 큰 직원을 조회해야 하므로 부서 조건은 서브쿼리에만 있어야 한다.

오답 풀이

  • 1번: 영업 부서 직원으로만 제한되어 전체 직원 조회 조건과 다르다.
  • 2번: 영업 부서 평균 급여보다 큰 모든 직원을 조회한다.
  • 3번: 평균과 같은 급여를 찾는 조건이다.
  • 4번: OR 조건으로 불필요한 영업 부서 직원까지 포함될 수 있다.

보충 개념 서브쿼리는 한 질의의 결과를 다른 질의의 조건으로 사용할 때 활용된다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 서브쿼리 데이터베이스 구축 기출 #4169 | 문어CBT