본문 바로가기

오라클/조인

SELF JOIN -- SELF JOIN : 자신의 테이블을 별명을 사용하여 마치 두개의 테이블인것 처럼 조인(자기 자신을 조인) SELECT A1.B_ID, A1.NAME, a2.name FROM au_book a1 JOIN au_book a2 ON a1.b_id=a2.b_id ORDER BY a1.b_id; SELECT A1.B_ID, A1.NAME, a2.name FROM au_book a1 JOIN au_book a2 ON a1.b_id=a2.b_id AND a1.name> a2.name -- ON 뒤에는 조건이 온다. ORDER BY a1.b_id; --=> 위 아래의 차이는 저자가 2명이상인 것만 출력 더보기
CROSS JOIN -- CROSS JOIN : 학술적인 의미. 카디션 곱 SELECT * FROM book; -- 9개 행의 데이터 SELECT * FROM danga; -- 9개 행의 데이터 SELECT b.b_id, title, price FROM book b CROSS JOIN danga d; -- 총 81개 행의 데이터 더보기
FULL JOIN -- FULL JOIN : LEFT와 RIGHT JOIN 결합형태 -- 인천에 사는 사람 쉘렉 SELECT num, name, buseo, city FROM insa WHERE city='인천'; -- 개발부에 사는 사람 쉘렉 SELECT num, name, buseo, city FROM insa WHERE buseo='개발부'; -- EQUI JOIN SELECT a.num, b.num, a.name, b.name, a.city, b.city, a.buseo, b.buseo FROM ( SELECT num, name, buseo, city FROM insa WHERE city='인천' ) a JOIN ( SELECT num, name, buseo,city FROM insa WHERE buseo='개발부.. 더보기
OUTER JOIN -- OUTER JOIN -- 조인 조건에 만족하지 않는 행을 보기 위한 추가적인 JOIN 형태이다. --책별 판매 수량 구하기 -- EQUI 조인SELECT b.b_id, title, p_su FROM book b JOIN panmai p ON b.b_id=p.b_id; --LEFT OUTER JOINSELECT b.b_id, title, p_su FROM book b LEFT OUTER JOIN panmai p ON b.b_id=p.b_id; -- book테이블 컬럼과 panmai테이블 컬럼의 동일한 것을 묶어서 출력, -- 이 때 panmai테이블에 book테이블의 b_id가 없는 것은 null값으로 출력되는데 아우터 라인이 이것까지 출력하게 해준다. --조건에 만족하지않는 것은 왼쪽(ON b.b_.. 더보기
EQUI JOIN(inner Join) -- EQUI 조인 -- 두개 이상의 테이블의 관계되는 컬럼들의 값들이 일치하는 경우에 사용하는 가장 일반적인 JOIN -- EQUI 조인은 단순 JOIN 이라 한다. -- 방법 1 먼저 테이블 마다 컬럼을 확인SELECT * FROM book; --b_id, title c_nameSELECT * FROM danga; -- b_id, priceSELECT * FROM panmai; 값이 일치하는 컬럼들을 아래와 같이 묶는다SELECT book.b_id, title, c_name, price FROM book, danga WHERE book.b_id = danga.b_id; -- 이름이 길어서 아래와 같이 테이블이름에 별명을 붙인다. SELECT b.b_id, title, c_name, price FROM.. 더보기