여러 테이블을 연결해서 만드는 임시 테이블
실습용 샘플 데이터 생성
CREATE TABLE mem
(
id NUMBER,
name VARCHAR2(20)
);
CREATE TABLE item
(
item_id NUMBER,
item_name VARCHAR(20)
);
INSERT INTO MEM
VALUES (1, '철수');
INSERT INTO MEM
VALUES (2, '영희');
INSERT INTO MEM
VALUES (3, '지민');
VALUES (1, '커피');
INSERT INTO item
VALUES (3, '케이크');
INSERT INTO item
VALUES (4, '피자');
inner join
SELECT
*
FROM
mem
JOIN item ON
mem.id = item.item_id;
ID|NAME |ITEM_ID|ITEM_NAME |
--+------+-------+------------+
1|철수 | 1|커피 |
3|지민 | 3|케이크 |
위의 경우 2번 회원과 4번 메뉴는 연결 될 행이 없어서 결과에서 출력되지 않는다.
SELECT
*
FROM
mem, item;
ID|NAME|ITEM_ID|ITEM_NAME|
--+----+-------+---------+
1|철수 | 4|피자 |
1|철수 | 1|커피 |
1|철수 | 3|케이크 |
2|영희 | 4|피자 |
2|영희 | 1|커피 |
2|영희 | 3|케이크 |
3|지민 | 4|피자 |
3|지민 | 1|커피 |
3|지민 | 3|케이크 |
SELECT
*
FROM
mem, item
WHERE
id = item_id;
ID|NAME |ITEM_ID|ITEM_NAME |
--+------+-------+------------+
1|철수 | 1|커피 |
3|지민 | 3|케이크 |
SELECT id, name, item_name "주문상품"
FROM mem LEFT OUTER JOIN item
ON id = item_id;
ID|NAME |주문상품 |
--+------+---------+
1|철수 |커피 |
3|지민 |케이크 |
2|영희 | NULL |