database

Oracle 16 JOIN 개념, INNER JOIN 실습, 3개 테이블 조인

HYC 2023. 10. 11. 12:52

조인 (JOIN)

외래키 

이전 실습에서 USERID가 외래키

https://my-develop-diary.tistory.com/161

위 링크에서 '실습 tbl_buy 테이블 생성' 에서 USERID 외래키 지정

외래키가 지정되지 않아도 ON 조인조건  으로 두 테이블을 조인할 수 있다

outer는 자기 자신을 반환한다 -> inner(공통부분) + left (or right)

 

inner join 공통

 

실습

NVL() - Null Value Locator

 실습 두 테이블의 값이 똑같이 NULL이면 NULL도 출력한다.

NVL 함수로 두 테이블의 NULL 출력했다.

실습

 

※ 시행착오

부모 테이블(tbl_customers2)에 없는 customerid로 10004를 입력해서 데이터 삽입에 실패했다

 

실습 3개의 테이블 JOIN하기

실습을 위해 tbl_orders 테이블에서 PRODUCTNAME 속성을 'PRODUCTID' 속성으로 변경한다

새로 만든 PRODUCTID 속성으로 tbl_products2 테이블에 접근할 것이다.

테이블의 속성명과 데이터유형을 바꿀 때 반드시 기존에 저장된 데이터를 삭제하고 변경한다.

 

3번째 열 PRODUCTNAME 을 더블클릭해서 'PRODUCTID'로 바꾼다, 데이터 유형도 VARCHAR2에서 NUMBER로 바꾼다 . 마지막에 있는 확인 버튼을 클릭한다

tbl_orders 테이블에 데이터를 넣고 tbl_products2라는 새로운 테이블을 만들고 데이터를 넣는다.

 

cross JOIN

(실무에 적용될 확률이 낮다)