본문 바로가기
DataBase

[postgreSQL] INNER JOIN

by 바까 2021. 9. 14.
반응형
--2)INNER 조인 = 교집합
select A.ID as ID_A, A.FRUIT as FRUIT_A, B.ID as ID_B, B.FRUIT as FRUIT_B
from BASKET_A a 
inner join BASKET_B b  --BASKET_A테이블과 BASKET_B테입ㄹ을
on A.FRUIT = B.FRUIT;	--FRUIT 컬럼 기준으로 조인한다.

--한명의 고객은 여러 건의 결제내역을 가질 수 있다.
--하나의 결제는 반드시 고객을 가져야 한다.
--고객1:결제M
select A.CUSTOMER_ID, A.FIRST_NAME, A.LAST_NAME, A.EMAIL, B.AMOUNT, B.PAYMENT_DATE
from CUSTOMER a 					--CUSTOMER테이블과
inner join PAYMENT b 				--PAYMENT체이블을
on A.CUSTOMER_ID = B.CUSTOMER_ID;	--CUSTOMER_ID 기준으로 조인한다.

select A.CUSTOMER_ID, A.FIRST_NAME, A.LAST_NAME, A.EMAIL, B.AMOUNT, B.PAYMENT_DATE
from CUSTOMER a 					--CUSTOMER테이블과
inner join PAYMENT b 				--PAYMENT체이블을
on A.CUSTOMER_ID = B.CUSTOMER_ID	--CUSTOMER_ID 기준으로 조인한다.
where A.CUSTOMER_ID = 2;			--특정 ID만 조인

--3개 테이블 조인
--한 명의 직원은 여러 건의 결제 내역을 처리한다.
--하나의 결제는 반드시 처리한 직원이 존재한다.
--한명의 고객은 여러 건의 결제내역을 가질 수 있다.
--하나의 결제는 반드시 고객을 가져야 한다.
--고객1:결제M:직원1
select A.CUSTOMER_ID, A.FIRST_NAME, A.LAST_NAME, A.EMAIL,
	   B.AMOUNT, B.PAYMENT_DATE, C.FIRST_NAME as S_FIRST_NAME,
	   C.LAST_NAME as S_LAST_NAME
from CUSTOMER a 					--customer테이블과
inner join payment b 				--PAYMENT테이블을
on A.CUSTOMER_ID = B.CUSTOMER_ID	--CUSTOMER_ID 기준으로 조인
inner join STAFF c 					--STAFF테이블과
on B.STAFF_ID = C.STAFF_ID;			--STAFF_ID기준으로 조인
반응형

'DataBase' 카테고리의 다른 글

[postgreSQL] SELF JOIN  (0) 2021.09.14
[postgreSQL] OUTER JOIN  (0) 2021.09.14
[postgreSQL]JOIN 이란?  (0) 2021.09.14
[postgreSQL][데이터 필터링]IS NULL 연산자  (0) 2021.09.13
[postgreSQL][데이터 필터링]LIKE연산자  (0) 2021.09.13

댓글