본문 바로가기
[DBMS]/- Oracle

[Oracle]서브쿼리(subQuery)

by Hapco 2022. 5. 30.
728x90
반응형

서브쿼리가 무엇이냐

 

 

사진 설명을 입력하세요.

 

 

만약 우리가 1 + 2+3 *6의 계산이 잇을떄 1+2를먼저하고싶다 하면 (1+2)+3*6 이렇게 계산하는것처럼 괄호를 먼저 실행한다.

-필터링 조건에 집계함수를 사용 할수 없다.

-따라서 집계함수를 먼저 실행시키고 그결과를 이용하여 필터링을 수행.

Q. 가장 비싼 상품의 이름을 보고싶다

1. 가장 비싼 상품의 가격을 찾는다.

select max(price) from product;

2. 1번에서나온 결과를 사용하여 상품의 일름을 찾는다

select * from prouct where price=3000;

--답은 맞게나오겟지만 저 3000이라는 값을 내가 찾아서 계산해서 넣어준거기때문에 이렇게짜면안된다

그래서 저위 두식을 합쳐서 이렇게만든다

select * from proudct where price=(select max(price) from product);

이름만 찾고싶다면 select name from proudct where price=(select max(price) from product);

ex)

--가장 저렴한 가장 상품의 이름의 출력

select name from product where price=(select min(price) from product);

--포인트가 가장적은 회원으시 숫자

select min(member_point) from member;

select count(*) from member where member_point=(select min(member_point) from member);

select count(*) "포인트가 적은 회원 수" from member where member_point=(select min(member_point) from member);

--가장 최근에 가입한 회원의 모든정보

select max(member_join) from member;

select * from member where member_join=(select max(member_join) from member);

'[DBMS] > - Oracle' 카테고리의 다른 글

[Oracle]TopN Queey 탑N쿼리  (0) 2022.05.30
[Oracle]정렬 (Sort) asc/desc  (0) 2022.05.30
[Oracle]듀얼테이블(dualTable)이란 ?  (0) 2022.05.30
[Oracle]테이블 조회 ( select)  (0) 2022.05.29
[Oracle]날짜데이터 다루기  (0) 2022.05.29

댓글