데이터베이스

GROUP BY, HAVING SQL 예제 5, NULL 사용주의, 사원, 급여, 부서번호, Sailor, rating, age

스윙스윙 2021. 10. 7. 16:51

▣ GROUP BY, HAVING 예제 5

2020년 62번

정답 : 3번

1) 부서번호 GROUP BY의해 부서별 평균 급여 나타냄 (O)

2) GROUP BY, HAVING 절에 따라 2명 이상가진 부서의 사원이름, 급여 나타냄(O)

 * IN 조건은 NULL을 제외한 결과값만 검색됨

3) 메인쿼리와 서브쿼리 간 부서번호로 조인되어 연결되어 있음

   부서의 평균 급여보다 큰 사원이름, 급여 나타냄 (X)

  결과는 "김좌진, 이몽령" 임

4) MAX함수로 최고 급여를 받는 사원이름, 급여 나타냄(O)

 


2020년 63번

정답 : 2번

Silors 릴레이션에서 연산후 Results 릴레이션을 나움

Results 차수 2, 카디널리티는 4

1~4번 보기 모두 차수 2임

 

rating에 중복값이 없으므로 GROUP BY 연산 및 AVG(S.age) 적용

{1}이 제외 되어, 2건의 age평균값

rating 10일 때 {35, 16} 평균값이 {35}이기 때문에 {16} 제외

S.age >= 18 조건이 추가된 보기는 2번, 3번임

 

3번은 서브쿼리에 S2.age >= 18 조건이 있어서 rating 10이 제외됨

따라서 2건 이상의 데이터에 age >= 18 조건을 만족하는 2번이 정답임