관리 메뉴

클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

서브쿼리 3 - 반환에 따른 분류 2 : 다중행 서브쿼리 실습해보기 본문

알고리즘 및 자료 관리/SQL

서브쿼리 3 - 반환에 따른 분류 2 : 다중행 서브쿼리 실습해보기

huenuri 2024. 10. 13. 21:49

이어서 실습문제를 풀어보겠다.


 

 

 

실습 6 - 다중 행 서브쿼리 3

 

 

 

 

 

 

우선 나이가 가장 많은 사원들을 조회해보았다. 나이가 많은 사원은 생년월일 값이 가장 적다는 의미의 min을 사용한다.

 

 

 

이름과 함께 사원들의 정보가 모두 출력되었다.

 


 

 

 

 

실습 7 - 하나라도? 혹은 전부? : ANY, ALL

 

 


 

 

먼저 테이블의 정보를 조회해본다.

 

 

급여 시작일과 언제까지 받았는지의 날짜와 급여가 출력되었다. 이제 여기서 2000년 12월 이전인 사람들의 급여 중 더 즉은 급여를 받은 직원의 급여 정보를 검색해야 한다.

 

 

 

 

2000년 12월 31일 이전에 급여 정보가 출력되었다. 이제 메인쿼리를 작성해보겠다.

 

 

 

메인 쿼리는 서브쿼리보다 작도록 표시해준다. 그리고 하나의 급여보다 더 작아야 하므로 any를 사용한다. 이렇게 하나의 값보다 작은 즉 56000보다 작은 값이 모두 나타났다. < any는 최대값을 비교하는 것과 비슷하다.


 

 

 

 

 

여기서는 46000보다 작은 값이 출력되었다. < all은 최소값을 찾는 것과 같다. 전체 코드는 다음과 같다.

 

 

 

 

이 문제는 정말 어려웠는데 설명을 듣지 않으면 절대로 혼자서는 풀지 못할 문제였다. 다른 실습 문제에 비해 풀고 이해하는데 많은 시간이 걸렸다.


 

 

 

 

 

퀴즈 2 - 반환에 따른 분류

 

 

 

결과를 2개 이상 반환하는지 1개 이상인지 조금 헤깔렸다. 그래도 4번은 좀 아닐 것 같았다.

 


 

 

 

학습을 마치고

어려운 서브쿼리 단원이 이제 딱 한 과정만 남겨놓고 있다. 지금까지 잘 해왔으니 남은 시간도 집중해서 열심히 공부해볼 것이다. 예상 목표 시간보다 10분 이상은 더 걸릴 것 같다.