본문 바로가기
클래스 리뷰/22.05 빡공단 SQL 강의

빡공단 22기 도전기 - SQL JOIN (22일차)

by 직_장인 2022. 12. 7.

 

 
EQUI - JOIN

 

1. EQUI-JOIN (ANSI 표준 JOIN 방식)

  • 서로 다른 테이블을 결합할 때, 각 테이블의 컬럼 간에 같은 필드값이 있는 경우만 출력
  • employees 테이블과 department 테이블을 join
SELECT 필드명
  FORM 테이블명1 INNER JOIN 테이블명2
    ON 테이블명1.필드명 = 테이블명2.필드명
 WHERE 조건식
 ;
 
  • department_id가 employees 테이블쪽 하나, departments 테이블쪽 하나로 2개가 표시된다.
  • INNER JOIN()은 각 테이블에 존재하는 키값들의 교집합에 해당하는 값들만 출력한다.
  • 따라서, 키값이 null값이라면 출력되지 않는다.

 

  • JOIN() 된 테이블에서 컬럼을 SELECT() 할 경우, 그냥 컬럼명만 적으면 '정의가 애매하다'고 오류가 발생한다.

 

  • 이렇게 어느 테이블에서 온 컬럼인지 명시해주어야 한다.
  • 그럼 매번 이렇게 같은내용을 두번씩 작성해주어야 하는가?? 그렇다.
  • 하지만 조금 더 쉽게 작성하는 방법이 있다. 아래에서 살펴보자.

 

2. JOIN() 간결하게 작성하기

  • employees 테이블을 'a'로, departments를 'b'로 지정해놓으면, 조금 더 쉽게 작성할 수 있다.
  • 주의 할 점은, 별칭을 붙일 때 AS를 사용하지 않는다는 것이다.

 

3. JOIN() 대신 콤마(' , ')를 사용 (Oracle - JOIN방식)

  • INNER JOIN 대신 콤마를, ON대신 WHERE를 작성해도 동일한 결과가 나온다.

 

4. 추가로 필터링 할 경우

  • 앞서 배운 두가지 방식에 따라 각각 WHERE, AND를 써서 필터링 할 수 있다.

 

22일차 인증!

 

 

댓글