JOIN과 INSER JOIN의 차이점
이 두 결합을 통해 동일한 결과를 얻을 수 있습니다.
SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK
대
SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK
퍼포먼스나 그 외의 내용에 차이가 있습니까?
SQL 구현마다 차이가 있습니까?
기능적으로는 동등하지만INNER JOIN
특히 쿼리에 다른 조인 타입이 있는 경우(즉, 보다 명확하게 읽을 수 있습니다).LEFT
또는RIGHT
또는CROSS
)가 포함되어 있습니다.
아니요, 차이는 없어요. 순수 통사설탕이에요.
내부 결합 = 결합
단어 JOIN을 사용할 때 유형을 지정하지 않으면 INSER JOIN이 기본값입니다.
LEFT OUTER JOIN 또는 RIGHT OUTER JOIN을 사용할 수도 있습니다. 이 경우 OUTER라는 단어는 옵션이거나 CROSS JOIN을 지정할 수 있습니다.
또는
INSER JOIN 의 구문은 다음과 같습니다.
SELECT ... FROM TableA [INNER] JOIN TableB
(즉, INSER 키워드는 옵션입니다.이 키워드를 사용하든 사용하지 않든 결과는 동일합니다).
SQL 구현마다 차이가 있습니까?
네, Microsoft Access에서는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
'source' 카테고리의 다른 글
Git 분기의 가장 가까운 부모를 찾는 방법 (0) | 2023.04.17 |
---|---|
SQL 데이터베이스에 위도 및 경도 데이터를 저장할 때 사용할 데이터 유형은 무엇입니까? (0) | 2023.04.17 |
SQL SELECT WHERE 필드에 단어가 포함되어 있습니다. (0) | 2023.04.17 |
특정 데이터베이스에 대해 마지막으로 실행된 쿼리 (0) | 2023.04.17 |
postgresql - 테이블 세트 기본값에 부울 열을 추가합니다. (0) | 2023.04.12 |