-
728x90
LEFT OUTER JOIN 키워드
SQL에서 LEFT OUTER JOIN을 사용하면 왼쪽 테이블에 있는 모든 레코드와 오른쪽 테이블에서 매칭 하는 레코드를 반환할 수 있다. 추가적으로 LEFT OUTER JOIN과 LEFT JOIN은 같은 의미로 사용된다.
LEFT OUTER JOIN의 기본 문법은 다음과 같다.
SELECT column_name FROM table1 LEFT OUTER JOIN(or LEFT JOIN) table2 ON table.column_name = table2.column.name;
이전의 테이블 두개를 호출하는 SQL문에서는 테이블 순서가 바뀌어도 같은 결괏값을 반환했기 때문에 테이블의 순서는 전혀 중요하지 않았다. 하지만 LEFT JOIN을 사용할 때라면 테이블의 순서가 중요하다는 것을 잊지 말아야 한다.
왜냐면 첫 번째 언급하는 테이블로 왼쪽에 올 테이블을 명시해주기 때문이다. 즉, Table A에서 A의 단독적인 데이터와 A와 B의 공통적인 데이터를 가져오지만, Table B의 단독적인 데이터는 반환하지 않는다는 것이다.
LEFT OUTER JOIN 사용하기
registrations
테이블과logins
테이블에서 LEFT JOIN을 사용해보자.SELECT * FROM registrations LEFT OUTER JOIN logins ON registrations.name = logins.name;
위와 같이
registrations
테이블 모든 레코드와 두 테이블에서 매칭하는 레코드가 반환되었다.다시 한번, LEFT JOIN에서 테이블 순서는 중요하다는 것을 잊지 말자.
WHERE절로 유니크한 값 가져오기
LEFT JOIN과 WHERE절을 같이 사용함으로써, 왼쪽 테이블에서만 유니크한 값을 반환할 수 있다.
SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.column_name = table2.column_name WHERE table2.id IS NULL;
위와 같이 SQL문을 사용함으로써 오직 첫 번째 테이블에서 유니크한 값만 반환했음을 확인할 수 있다.
728x90'Back-end > SQL' 카테고리의 다른 글
SQL UNION 연산자 (0) 2021.06.14 SQL RIGHT JOIN 키워드 (0) 2021.06.13 SQL FULL OUTER JOIN 키워드 (0) 2021.06.09 SQL INNER JOIN 키워드 (0) 2021.06.02 SQL JOIN절 (0) 2021.06.01 댓글