Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리스트
- iOS개발강의
- 스프링
- jsp
- Python
- 코린이
- java
- ui
- 서블릿
- 스마트인재개발원
- 바이트디그리
- 광주직업학교
- 자바스크립트
- 메시지시스템
- 머신러닝
- 딥러닝
- 빅데이터
- K디지털크레딧
- 전주스터디카페
- 자바페스티벌
- 자바
- 전주독서실
- 덴디컨설팅
- ux
- 코딩
- 썸머스쿨예약
- 문제풀이
- 파이썬
- 내일배움카드
- 패스트캠퍼스
Archives
- Today
- Total
멀리 보는 연습
DATABASE_서브쿼리 본문
1. 서브쿼리란?
하나의 SQL문에 포함되어 있는 또 다른 SQL문
*예제01
Abel이라는 사원보다 더 많은 급여를 받는 사원의 이름과 급여를 출력하시오.
1 select last_name, salary 2 from employees 3* where salary > (select salary from employees where last_name='Abel') |
서브쿼리 (30, 40)
> any (최소값 30보다 큰 값) >> 40,50,60
< any ( 최대값 40보다 작은 값) >> 10, 20,30
> all ( 전부(최대값)보다 큰값) >> 50, 60
< all (전부(최소값)보다 작은값) >> 10,20
*예제02
Zlotkey와 동일한 부서에 근무하는 다른 모든 사원들의 사번 및 고용 날짜를 출력하시오.
1 select employee_id, hire_date 2 from employees 3 where department_id in(select department_id from employees where last_name='Zlotkey') 4* and last_name <> 'Zlotkey' |
*예제03
회사 전체 평균 급여보다 더 급여를 많이 받는 사원들의 사번 및 이름을 출력하시오.
SQL> select employee_id, last_name 2 from employees 3 where salary > (select avg(salary) from employees); |
*예제04
이름에 u가 포함되는 사원들과 동일 부서에 근무하는 사원들의 사번 및 이름을 출력하시오.
1 select employee_id, last_name 2 from employees 3* where department_id in (select department_id from employees where last_name like '%u%') |
*예제05
시애틀에 근무하는 사람 중 커미션을 받지 않는 모든 사람들의 이름, 부서명, 지역ID를 출력하시오
select e.last_name, d.department_name, l.location_id from employees e, departments d, locations l where e.department_id = d.department_id and d.location_id=l.location_id and l.city='Seattle' and e.commission_pct is null |
1 select e.last_name, d.department_name, location_id 2 from employees e, departments d 3 where e.department_id = d.department_id 4 and d.location_id = (select location_id from locations where city='Seattle') 5* and e.commission_pct is null |
*예제06
이름이 DAVIES 인 사람보다 후에 고용된 사원들의 이름 및 고용 일자를 출력하시오. 고용일자를 역순으로 출력하시오.
1 select last_name, hire_date 2 from employees 3 where hire_date > all (select hire_date from employees where last_name = 'Davies') 4* order by hire_date desc |
*예제07
King 을 매니저로 두고 있는 모든 사원들의 이름 및 급여를 출력하시오.
1 select last_name, salary 2 from employees 3* where manager_id in(select employee_id from employees where last_name = 'King') |
*예제08
회사 전체 평균 급여보다 더 많이 받는 사원들 중에 이름에 u가 있는 사원들이 근무하는 부서에서 근무하는 사원들의 사번, 이름 및 급여를 출력하시오.
1 select employee_id, last_name, salary 2 from employees 3 where department_id in (select department_id from employees where last_name like '%u%' 4* and salary > (select avg(salary) from employees)) |
'Study > DATABASE' 카테고리의 다른 글
DATABASE_group by, SQL 구문 실행 순서, having (0) | 2021.05.31 |
---|---|
DATABASE_조인 (0) | 2021.05.31 |
DATABASE_연산자, where, order by, 비교 조건 예제 (0) | 2021.05.23 |
DATABASE_명령문 (0) | 2021.05.23 |
DATABASE_용어 (0) | 2021.05.23 |
Comments