모두CBT

다음 ‘사원’과 ‘부서’ 테이블에 대한 SQL문의 수행 결과가 다른 것… | [7급 국가직 데이터베이스론] 24년 1회차 기출문제 상세 페이지

1[7급 국가직 데이터베이스론] 24년 1회차
다음 ‘사원’과 ‘부서’ 테이블에 대한 SQL문의 수행 결과가 다른 것은? (단, 밑줄로 표기된 속성은 기본키를 의미한다)
사원
사번이름부서번호급여직속상사
1Kim10500NULL
2Kwon205003
3Park20700NULL
4Choi306001
5Cho103003
6Lee205504
7Yoon304003
8Chae206501
9Nam104304
10Ha30200NULL
부서
부서번호부서이름사무실위치
10인사과101호
20개발팀102호
30총무과103호
1
SELECT 이름
FROM 사원
WHERE 이름 LIKE ‘_a%’ AND 급여 > 500;
2
SELECT E.이름
FROM 사원 AS E INNER JOIN 부서 AS D ON E.부서번호 = D.부서번호
WHERE D.사무실위치 = ‘102호’ AND E.직속상사 is NULL;
3
SELECT 이름
FROM 사원
WHERE 이름 NOT IN (SELECT 이름 FROM 사원
WHERE 급여 < ANY (SELECT 급여 FROM 사원));
4
SELECT 이름
FROM 사원
WHERE 부서번호 IN (SELECT 부서번호 FROM 사원
GROUP BY 부서번호
HAVING COUNT(*) > 3);
해설

나머지 세 질의는 결과가 Park 한 명이지만, 인원이 3명을 넘는 부서의 사원을 찾는 질의는 Kwon, Park, Lee, Chae 4명을 반환하여 결과가 다르다.

부서별 인원은 부서번호 10이 3명, 20이 4명, 30이 3명이므로 COUNT(*) > 3을 만족하는 부서는 20뿐이고, 그 소속 사원 전원이 결과가 된다.

  • LIKE ‘_a%’ AND 급여 > 500: 두 번째 글자가 a인 사원은 Park·Nam·Ha이고, 급여가 500을 넘는 사원은 Park뿐이다.
  • 102호이면서 직속상사가 NULL: 102호는 개발팀(부서번호 20)이며 그중 직속상사가 NULL인 사원은 Park이다.
  • NOT IN과 < ANY: 급여 < ANY(전체 급여)는 최고 급여 700보다 적은 사원 전원이므로, 이를 제외하면 최고 급여자 Park만 남는다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 데이터베이스론] 24년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 데이터베이스론 기출문제 암기장 전체 보기