mysql 쪽에서는 당연히 쓰는거긴 한데.. postgresql 에서도 , 로 list를 적어 주면
자동으로 cartesian product(cross join)으로 결과를 내준다고 한다.
갑자기 cross join이 inner join인지 헷갈리네...
FROM ClauseThe FROM clause specifies one or more source tables for the SELECT. If multiple sources are specified, the result is the Cartesian product (cross join) of all the sources. But usually qualification conditions are added (via WHERE) to restrict the returned rows to a small subset of the Cartesian product. |
[링크 : https://www.postgresql.org/docs/9.5/sql-select.html#SQL-FROM]
+
inner join과 cross join은 다른듯
join_type
One of
|
[링크 :https://www.postgresql.org/docs/9.5/sql-select.html]
일단은.. cross join에 where를 주면 inner join이 되는건가? 좀 헷갈리네..
Join 종류 |
설명 |
|
Cross Join |
Outer Node 의 각 row 에 대해 Inner Node 의 모든 row가 결합되어 반환 |
|
Inner Join |
Outer Node 의 각 row 에 대해 Inner Node 의 모든 row 중 Join 조건을 만족하는 row 에 대해서만 결합되어 반환 |
|
Equi Join |
조건의 연산자가 = 인 경우 | |
Non Equi Join | 조건의 연산자가 = 가 아닌 경우 |
[링크 : https://mozi.tistory.com/69]
'프로그램 사용 > postgreSQL' 카테고리의 다른 글
sql group by like? (0) | 2019.09.25 |
---|---|
postgresql select having (0) | 2019.09.24 |
postgresql transaction begin / commit / rollback (0) | 2019.09.24 |
sql 문 계산하기 (0) | 2019.09.24 |
string_agg() + COALESCE() + DISTINCT (0) | 2019.09.23 |