mysql join 질문드립니다.

mysql join 질문드립니다.

QA

mysql join 질문드립니다.

답변 3

본문

FROM
                    fm_cart_option cart_opt
                    left join fm_cart cart on cart.cart_seq = cart_opt.cart_seq
                    ,fm_goods goods
                    ,fm_goods_option goods_opt
                    left join fm_goods_option_item i on goods_opt.option_seq = i.option_seq
                    ,fm_provider pv

식인데 일반적인 join 부분은 이해가 가는데

 ,fm_goods goods

,fm_goods_option goods_opt

,fm_provider pv

등 left 뒤에 , 콤마로 된 부분들도 있엇서 해당 join 부분이 정확하게 이해가 되지 않아서 질문을 남겨봅니다.

이 질문에 댓글 쓰기 :

답변 3

https://dev.mysql.com/doc/refman/8.0/en/join.html

INNER JOIN and , (comma) are semantically equivalent in the absence of a join condition: both produce a Cartesian product between the specified tables (that is, each and every row in the first table is joined to each and every row in the second table).

,(comma)는 inner join으로 보시면 됩니다.

먼저 join의 종류를 알아야 이해가 되지 않을까 생각됩니다.

 join은 보통 4가지 종류로 구분됩니다. inner join, left join. right join , outer join

위에서 지금 사용된 join은  left join입명 

콤마 , 뒤에 

,fm_goods goods

,fm_goods_option goods_opt

,fm_provider pv

 

요렇게 해놓으셨는데 이건 테이블 명입니다.

,fm_goods_option goods_opt 이건 fm_goods_option 테이블을 goods_opt <--요걸로 명칭을 넣어서 사용하겠다는거구요.~

 

join은 

inner join

left join

right join

outer join

left outer join 등이 있습니다만

그중에서

묵시적으로 , 로 테이블을 구분하면 inner join 으로 간주하고

테이블간의 where 의 조건에 의한 교집합만 검색하기때문에

범위가 축소되고, 조건이 좀더 명확해집니다.

 

left 조인은 주 테이블을 기준으로 검색하는 방식이라고 보시면됩니다.

 

검색해보니

참고할만한 자료도 있네요

https://jaenjoy.tistory.com/7

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,543
© SIRSOFT
현재 페이지 제일 처음으로