select ename, sal
from emp
where sal > ( select sal
from emp
where ename='JONES');
💡 main query = outer query
subquery = inner query
select ename, sal
from emp
where sal = (select sal
from emp
where ename='SCOTT');
select ename, sal
from emp
where sal = (select sal
from emp
where ename='SCOTT')
and ename != 'SCOTT';
여기서 and ename != 'SCOTT'
는 메인쿼리
서브쿼리는 괄호( ) 안
select ename, sal
from emp
where sal = ( select min(sal)
from emp );
select ename, hiredate
from emp
where hiredate > ( select hiredate
from emp
where ename='ALLEN');
drop table price_2022;
create table price_2022
(
P_SEQ number(10),
M_SEQ number(10),
M_NAME varchar2(80),
A_SEQ number(10),
A_NAME varchar2(60),
A_UNIT varchar2(40),
A_PRICE number(10),
P_YEAR_MONTH varchar2(30),
ADD_COL varchar2(180),
M_date date,
M_TYPE_CODE varchar2(20),
M_TYPE_NAME varchar2(20),
M_GU_CODE varchar2(10),
M_GU_NAME varchar2(30) );
이상치 데이터를 지웁니다.
select a_name, a_price, m_name
from price_2022
order by a_price desc;
delete from price_2022
where a_name='배추' and a_price=69008625;
commit;
select *
from price_2022
where a_price = ( select max(a_price)
from price_2022 );
select ename, age
from emp21
where age = ( select max(age)
from emp21 );
-- 실행계획 보기
SELECT * FROM table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
---------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
---------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.01 | 14 |
|* 1 | TABLE ACCESS FULL | EMP21 | 1 | 1 | 1 |00:00:00.01 | 14 |
| 2 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:00.01 | 7 |
| 3 | TABLE ACCESS FULL| EMP21 | 1 | 19 | 19 |00:00:00.01 | 7 |
---------------------------------------------------------------------------------------
select ename, age
from emp21
order by age desc fetch first 1 rows only;
SELECT * FROM table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
-----------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | OMem | 1Mem | Used-Mem |
-----------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.01 | 7 | | | |
|* 1 | VIEW | | 1 | 1 | 1 |00:00:00.01 | 7 | | | |
|* 2 | WINDOW SORT PUSHED RANK| | 1 | 19 | 1 |00:00:00.01 | 7 | 2048 | 2048 | 2048 (0)|
| 3 | TABLE ACCESS FULL | EMP21 | 1 | 19 | 19 |00:00:00.01 | 7 | | | |
-----------------------------------------------------------------------------------------------------------------------