태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
2017.06.15 08:30


 SQLite 에서의 from 절의 , 의 의미는?


https://www.sqlite.org/lang_select.html#fromclause


-

If the join-operator is "CROSS JOIN", "INNER JOIN", "JOIN" or a comma (",") and there is no ON or USING clause, then the result of the join is simply the cartesian product of the left and right-hand datasets. If join-operator does have ON or USING clauses, those are handled according to the following bullet points:

CROSS JOIN, INNER JOIN, JOIN, “,” 을 사용하면서 ON 이나 USING clause 가 없다면, 단순 cartesian product 가 된다.


즉 , 만 사용하면 그냥 Cross Join 이라고 보면 된다.



-

https://www.tutorialspoint.com/sql/sql-cartesian-joins.htm


Cartesian product 는 CROSS JOIN 과 같은 녀석으로, A 와 B Table 이 있을 때 A 의 모든 Row 와 B 의 모든 Row 를 연결한 녀석이다.


예를 들어 A에 2개의 Row, B 에 3개의 Row 가 있었다면 아래와 같이 6개의 Row 가 결과이다.

A1B1, A1B2, A1B3, A2B1, A2B2, A2B3



-

이왕 이렇게 된거 JOIN 관련해서 한번 간단히 정리해보자.


https://www.tutorialspoint.com/sql/sql-using-joins.htm


INNER JOIN (EQUI JOIN)

양 table 에 공통된 녀석이 있는 것만 return. JOIN Predicate (ON 다음에 조건을 써준다) 이 필요하다.


LEFT JOIN ( One of Outer Join )

다른 Table 과 JOIN Predicate 가 match 되지 않아도 왼쪽에 오는 Table Row 는 모두 등장한다. 

다른 table 의 column 은 기본 NULL 값이 된다.


RIGHT JOIN ( One of Outer Join )

LEFT JOIN 과 마찬가지인데,  JOIN Predicate 가 match 되지 않아도 오른쪽에 오는 Table Row 가 모두 등장한다.


FULL JOIN ( One of Outer Join )

LEFT table 과 RIGHT table 의 내용을 Union 해놓은 느낌의 녀석으로, Predicate 를 만족하는 녀석들은 내용이 꽉 차고, 그렇지 않은 녀석들은 LEFT JOIN, RIGHT JOIN 과 마찬가지로 NULL 값으로 채워진다.


SELF JOIN

Join 명령을 따로 쓰지 않고, 한개의 table 을 alias 를 주면서 2개의 table 인 것처럼 join 하는 것을 말함.


CARTESIAN JOIN

위에서 봤으니 생략!


더보기



저작자 표시 비영리 변경 금지
신고

댓글을 달아 주세요


Posted by 돼지왕왕돼지

티스토리 툴바