서브쿼리(SubQuery) 정리
(방법1) Select 조회 칼럼 대신에 사용하는 경우
: 단일컬럼의 단일행만 조회
(방법2) Where 절에 사용하는 경우
In () : 단일컬럼의 단일행 또는 다중행 조회 가능
= : 단일컬럼의 단일행만 조회 가능
문제 1
* ORDER BY
-- 취미가 "수영"인 회원들 중에 마일리지의 값이 1000 이상인
-- 회원아이디, 회원이름, 회원취미, 회원마일리지 조회
-- 정렬은 회원이름 기준 오름차순
Select mem_id, mem_name, mem_like, mem_mileage
From member
Where mem_like = '수영'
And mem_mileage >= 1000
Order By mem_name Asc;
---------------------------------------------------------
문제 2
* Where 서브쿼리
-- 김은대 회원과 동일한 취미를 가지는
-- 회원 아이디, 회원이름, 회원취미 조회하기
Select mem_id, mem_name, mem_like
From member
Where mem_like = (Select mem_like
From member
Where mem_name = '김은대');
----------------------------------------------------------------
문제 3
* SELECT 서브쿼리
주문내역이 있는 회원에 대한 정보를 조회하려고 합니다.
회원아이디, 회원이름, 주문번호, 주문수량 조회하기
Select cart_member, cart_no, cart_qty,
(Select mem_name
From member
Where mem_id = cart_member) as name
From cart;
----------------------------------------------------------------
문제 4
* SELECT 서브쿼리
주문내역이 있는 회원에 대한 정보를 조회하려고 합니다.
회원아이디, 회원이름, 주문번호, 주문수량, 상품명 조회하기
Select cart_member, cart_no, cart_qty,
(Select mem_name
From member
Where mem_id = cart_member) as name,
(Select prod_name
From prod
Where prod_id = cart_prod) as p_name
From cart;
-------------------------------------------------------------------
문제 5
* WHERE 서브쿼리 ( IN )
* JOIN과 비슷한 개념
a001 회원이 주문한 상품에 대한
상품분류코드, 상품분류명 조회하기
Select lprod_gu, lprod_nm
From lprod
Where lprod_gu In (Select prod_lgu
From prod
Where prod_id In (Select cart_prod
From cart
Where cart_member = 'a001'));
------------------------------------------------------------------------
문제 6
* WHERE 서브쿼리 ( IN )
-- 이쁜이 라는 회원이 주문한 상품 중에
-- 상품분류코드가 P201이고,
-- 거래처코드가 P20101인
-- 상품코드, 상품명을 조회해 주세요
select prod_id, prod_name
from prod
where prod_lgu = 'P201'
And prod_buyer = 'P20101'
And prod_id in (select cart_prod
from cart
where cart_member in (select mem_id
from member
where mem_name='이쁜이'));
'DB > Oracle' 카테고리의 다른 글
[ORACLE] STUDY_2DAY(ROUND, MOD, SYSDATE, ADD_MONTH, NEXT_DAY, LAST_DAY, EXTRACT, CAST, TO_CHAR, TO_NUMBER, TO_DATE, GROUP, COUNT) (0) | 2022.11.17 |
---|---|
[ORACLE] STUDY_2DAY(LIKE, ESCAPE, CONCAT, TRIM, SUBSTR, REPLACE) (0) | 2022.11.17 |
[ORACLE] STUDY_1DAY(SELECT, FROM, WHERE) (0) | 2022.11.17 |
[ORACLE] 사용자 생성 및 권한 설정 (0) | 2022.11.17 |
[ORACLE] cmd로 oracle 접속 (0) | 2022.11.17 |