같은 종류의 테이블 조인하기(UNION, USING)
결합연산 vs 집합연산 테이블을 합치는 작업을 연산이라고 하며, 결합연산과 집합연산으로 분류할 수 있다. 결합연산은 가로로 join하는 것을 말하며, 집합연산은 세로로 join 하는 것을 말한다. INTERSECT, MINUS, EXCEPT, UNION 두 테이블에서 공통적인 row 만 찾고 싶을 때는 INTERSECT 연산자를, 두 테이블 중 한 테이블에만 존재하는 row를 찾고 싶을 때는 MINUS, EXCEPT 연산자를, 두 테이블을 합치고 싶을 때는 UNION 연산자를 사용하면 된다. 그러나 mysql에서는 버전 8 이후 INTERSECT, MINUS, EXCEPT 연산자를 지원하지 않는다. 그래도 OUTER JOIN, INNER JOIN을 통해 위의 작업들을 수행할 수 있다. 같은 종류의 테이블..
2021. 7. 22.
LEFT / RIGHT OUTER JOIN
OUTER JOIN 외부 조인으로, 조인시, 데이터를 다 조회하고 싶은 테이블이 있을 때 사용한다. LEFT OUTER JOIN, RIGHT OUTER JOIN이 있다. LEFT OUTER JOIN 왼쪽의 테이블 값을 다 가져온다. 그리고, 왼쪽의 테이블의 특정 열을 기준으로 값이 같은 오른쪽 테이블의 값을 가져온다. 만약, 매칭되는 값이 없을 경우, 우측 테이블의 값을 NULL로 표기한다. 예시) # item table의 값은 다 가져오고, 왼쪽의 item table의 id가 같은 것 기준으로 # stock table의 값을 맞춘다. SELECT item.id, item.name, stock.item_id, stock.inventory_count FROM item LEFT OUTER JOIN stock..
2021. 7. 18.