SELECT *
FROM cycle
SELECT *
FROM product
outer join 실습 outerjoin4
SELECT
FROM
(SELECT p.pid, p.pnm ,NVL(c.cid , 1 ) cid , NVL(c.day, 0 ) day ,NVL(c.cnt, 0 ) cnt
FROM product p left outer join cycle c
ON ( p.pid = c.pid )
AND cid = 1 ) a , customer
WHERE
SELECT *
FROM customer
SELECT p.pid, p.pnm ,NVL(c.cid , 1 ) cid , NVL(c.day, 0 ) day ,NVL(c.cnt, 0 ) cnt
FROM product p , cycle c
WHERE p.pid = c.pid(+)
AND c.cid(+) = 1
SELECT p.pid, p.pnm , :cid cid , NVL(c.day, 0 ) day ,NVL(c.cnt, 0 ) cnt
FROM product p , cycle c
WHERE p.pid = c.pid(+)
AND c.cid(+) = 1
INNER JOIN : 조인이 성공하는 데이터만 조회가 되는 조인 방식
OUTER JOIN : 조인에 실패해도 기준으로 정한 테이블의 컬럼은 조회가 되는 조인 방식
CROSS JOIN (cartesian product)
조인조건이 없을때 실행이 된다.
SELECT *
FROM emp, dept;
where 절에 기술하지 않을때
14 * 4 -> emp 테이블의 행 건수(14) * dept 테이블의 행 건수 (4) = 56건
where 절을 기술안하면 cross join 인데 ansi 에서는
from emp CROSS JOIN --
crossjoin 1 실습
SELECT *
FROM CUSTOMER
SELECT *
FROM PRODUCT
SELECT *
FROM customer, product
outer join 5 번 - 과제
SELECT p.pid, p.pnm ,NVL(c.cid , 1 ) cid , NVL(c.day, 0 ) day ,NVL(c.cnt, 0 ) cnt
FROM product p left outer join cycle c
ON ( p.pid = c.pid )
AND cid = 1
SELECT *
FROM customer
SELECT p.pid, p.pnm ,NVL(c.cid , 1 ) cid , NVL(c.day, 0 ) day ,NVL(c.cnt, 0 ) cnt
FROM product p , cycle c
WHERE p.pid = c.pid(+)
AND c.cid(+) = 1
SELECT p.pid, p.pnm , :cid cid , NVL(c.day, 0 ) day ,NVL(c.cnt, 0 ) cnt
FROM product p , cycle c
WHERE p.pid = c.pid(+)
AND c.cid(+) = 1
댓글
댓글 쓰기