📚 [SQL] Table Join

Category: SQL | 📅 July 24, 2020

준비물

테이블 2개 또는 3개

여기서는 user_idaddress 로 사용하기로 함.

두 개의 테이블 모두 phonekey_column 으로 가지고 있음.

JOIN

1. INNER JOIN

key_column 인 phone 를 포함하는 데이터


> SELECT * 
    FROM user_id uid JOIN address adr ON uid.phone = adr.phone

uid , adr 은 각 테이블의 별칭임.

2. OUTER JOIN

key_column 인 phone를 포함하지 않는 데이터


> SELECT * 
    FROM user_id uid JOIN address adr ON uid.phone = adr.phone
      WHERE uid.phone is NULL 

JOIN 응용

user_id 테이블을 왼쪽(LEFT) , address 를 오른쪽(RIGHT)로 가정하면 ..

3. LEFT INNER JOIN

key_column을 포함하는 왼쪽테이블, 즉 user_id 의 컬럼을 조회함. 이때 컬럼이 왼쪽 ,오른쪽 모두 같을 수 있으므로 반드시 별칭으로 정리함.

4. RIGHT INNER JOIN

key_column을 포함하는 오른쪽 테이블, 즉 address 의 컬럼을 조회함. 이때 컬럼이 왼쪽 ,오른쪽 모두 같을 수 있으므로 반드시 별칭으로 정리함.

5. LEFT OUTER JOIN

key_column을 제외한 왼쪽테이블, 즉 user_id 의 컬럼을 조회함. 이때 컬럼이 왼쪽 ,오른쪽 모두 같을 수 있으므로 반드시 별칭으로 정리함.

6. RIGHT OUTER JOIN

key_column을 제외한 오른쪽 테이블, 즉 address 의 컬럼을 조회함. 이때 컬럼이 왼쪽 ,오른쪽 모두 같을 수 있으므로 반드시 별칭으로 정리함.

7. FULL INNER JOIN

key_column을 포함한 오른쪽, 왼쪽 테이블, 즉 address , user_id 의 컬럼을 조회함. 이때 컬럼이 왼쪽 ,오른쪽 모두 같을 수 있으므로 반드시 별칭으로 정리함.

8. FULL OUTER JOIN

key_column을 제외한 오른쪽, 왼쪽 테이블, 즉 address , user_id 의 컬럼을 조회함. 이때 컬럼이 왼쪽 ,오른쪽 모두 같을 수 있으므로 반드시 별칭으로 정리함.

🏷️ Tags
  • #sql  
  • #join  
  • #join-statement