본문 바로가기
DB/ORACLE

ORACLE) JOIN, 서브쿼리 - 다수의 테이블을 하나의 데이터로 출력하기

by code_learner 2022. 10. 2.

2개 이상의 테이블의 데이터를 하나의 ROW로 합쳐 출력하고 싶을 때 사용하는 방법으로는 JOIN과 서브쿼리가 있다.

[사용할 테이블]

MENU 테이블
MENU_ORDER테이블

 

 

[JOIN]

-INNER JOIN

SELECT MO.DETAIL_SEQ, MO.MENU_SEQ, MO.QUANTITY,
        ME.MENU_SEQ,ME.MENU_NM,ME.UP_MENU_SEQ,ME.MENU_PRICE 
FROM MENU_ORDER MO, MENU ME 
WHERE MO.MENU_SEQ = ME.MENU_SEQ;

INNER JOIN

 

-OUTER JOIN

SELECT MO.DETAIL_SEQ, MO.MENU_SEQ, MO.QUANTITY,
        ME.MENU_SEQ,ME.MENU_NM,ME.UP_MENU_SEQ,ME.MENU_PRICE 
FROM MENU_ORDER MO, MENU ME 
WHERE MO.MENU_SEQ(+) = ME.MENU_SEQ;

OUTER JOIN

 

[서브쿼리]

SELECT MO.DETAIL_SEQ, MO.MENU_SEQ, MO.QUANTITY,
        (SELECT ME.MENU_NM FROM MENU ME WHERE MO.MENU_SEQ = ME.MENU_SEQ) AS MENU_NM,
        (SELECT ME.UP_MENU_SEQ FROM MENU ME WHERE MO.MENU_SEQ = ME.MENU_SEQ) AS UP_MENU_SEQ
FROM MENU_ORDER MO;

댓글