Python notes/Others

MySQL) Equi Join, Inner Join, outer join (+두개 이상의 테이블들의 공통 컬럼을 통해 값을 조회)

성실한 나무 2021. 4. 27. 16:26

#1. EQUI JOIN: 두개 이상의 테이블들의 공통칼럼에 '='를 명시함으로써 같은 값을 갖는 행을 연결하여 결과를 생성

     공통 컬럼을 이용하여 여러 테이블들의 교집합 값을 구하는 것으로 이해할 수 있음

 

     select table1.column,  table2.column ..(더 있을 경우 추가).. from table1, table2 where table1.column=table2.column;

     여기서 table1과 table2의 별칭(alias)를 정해서 더 간편하게 쓸 수도 있다.

     select t1.column, t2.column from table1 t1, table2 t2 where t1.column=t2.column;

 

     추가적인 검색 조건이 있을 경우엔 where 절에 and 로 이어서 쓴다

 

 

 

#2. INNER JOIN: 결과값은 EQUI JOIN과 같음. 입력 형식이 다름

 

   select table1.column, table2.column from table1 inner join table2 on table1.column=table2.column;

   마찬가지로 간편하게 별칭을 정해서 쓰면,

   select t1.column, t2.column from table1 t1 inner join table2 t2 on t1.column=t2.column;

 

 

 

#3. LEFT OUTER JOIN: 조인 명령문의 왼쪽 테이블 기준으로 왼쪽 테이블의 컬럼 값은 조건에 부합하지 않아도 다 나옴

 

   select table1.column, table2.column from table1 outer join table2 on table1.column=table2.column;

   동일한 원리로 right outer join도 사용할 수 있음