JOIN과 INNER JOIN의 차이점
이 두 조인 모두 동일한 결과를 제공합니다.
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
vs
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
성능 또는 기타 진술간에 차이가 있습니까?
다른 SQL 구현간에 차이가 있습니까?
기능적으로는 동일하지만 INNER JOIN
특히 쿼리에 다른 조인 유형 (예 : LEFT
또는 RIGHT
또는 CROSS
)이 포함 된 경우 읽기가 좀 더 명확 할 수 있습니다 .
아니요, 차이가 없습니다 . 순수한 구문 설탕 .
내부 조인 = 조인
JOIN 이라는 단어를 사용할 때 유형을 지정하지 않으면 INNER JOIN이 기본값 입니다.
LEFT OUTER JOIN 또는 RIGHT OUTER JOIN을 사용할 수도 있습니다.이 경우 OUTER라는 단어는 선택 사항이거나 CROSS JOIN을 지정할 수 있습니다.
또는
내부 조인의 경우 구문은 다음과 같습니다.
SELECT ...
from TableA
[INNER] JOIN TableB(즉, "INNER"키워드는 선택 사항입니다 . 결과는 키워드의 유무에 관계없이 동일합니다.)
다른 SQL 구현간에 차이가 있습니까?
예, Microsoft Access 에서는 join
. 그것은 필요합니다 inner join
.
와 마찬가지로 OUTER JOINs
단어 "OUTER"
는 선택 사항입니다. 그것은의 LEFT
또는 RIGHT
차종 키워드 JOIN
을 "OUTER" JOIN
.
그러나 어떤 이유로 나는 항상 사용 "OUTER"
과 같이 LEFT OUTER JOIN
결코 LEFT JOIN
,하지만 난 절대 사용하지 INNER JOIN
않고, 난 그냥 사용합니다 "JOIN"
:
SELECT ColA, ColB, ...
FROM MyTable AS T1
JOIN MyOtherTable AS T2
ON T2.ID = T1.ID
LEFT OUTER JOIN MyOptionalTable AS T3
ON T3.ID = T1.ID
다른 답변에서 이미 언급했듯이 귀하의 예에는 차이가 없습니다.
관련 문법이 여기 에 설명되어 있습니다.
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
모두 선택 사항임을 보여줍니다. 이 페이지는
INNER
일치하는 모든 행 쌍이 반환되도록 지정합니다. 두 테이블에서 일치하지 않는 행을 삭제합니다. 조인 유형이 지정되지 않은 경우 이것이 기본값 입니다.
문법도 않는이 한 번가 발생한 것을 나타 내기 INNER
되어 있지만이 필요합니다. 조인 힌트를 지정할 때.
아래 예를 참조하십시오.
CREATE TABLE T1(X INT);
CREATE TABLE T2(Y INT);
SELECT *
FROM T1
LOOP JOIN T2
ON X = Y;
SELECT *
FROM T1
INNER LOOP JOIN T2
ON X = Y;
참고 URL : https://stackoverflow.com/questions/565620/difference-between-join-and-inner-join
'program story' 카테고리의 다른 글
로컬에 설치된 Python 모듈 목록을 어떻게 얻을 수 있습니까? (0) | 2020.09.28 |
---|---|
OpenID와 OAuth의 차이점은 무엇입니까? (0) | 2020.09.28 |
Wi-Fi를 통해 Android 애플리케이션을 실행 / 설치 / 디버그 하시겠습니까? (0) | 2020.09.28 |
객체를 문자열로 변환 (0) | 2020.09.28 |
JSON 파일을 prettyprint하는 방법은 무엇입니까? (0) | 2020.09.28 |