기본 MySQL JOIN 동작은 INSER 또는 OUTER 중 무엇입니까?
그래서 저는 지난 한 시간 동안 인터넷을 통해 이 간단한 질문에 대한 결정적인 답을 찾고 읽고 있습니다.
MySQL의 기본 JOIN은 무엇입니까?
SELECT * FROM t1 JOIN t2
그거랑 똑같아요?
SELECT * FROM t1, t2
OR
SELECT * FROM t1 INNER JOIN t2
또, 「WHERE」구를 사용하는 경우는, JOIN과 INSER JOIN 중 어느 쪽과 같습니까?
현재 스탠드아론 JOIN은 콤마 및 WHERE 절을 사용하는 것과 동일하다고 생각합니다.
MySQL 쓰기JOIN
무자격의 암시INNER JOIN
다른 말로 하자면INNER
에INNER JOIN
는 옵션입니다. INNER
그리고.CROSS
는 MySQL의 동의어입니다.알기 쉽게 쓰겠습니다.JOIN
또는INNER JOIN
가입조건이 있고CROSS JOIN
조건이 없다면요.
join에 허용되는 구문은 매뉴얼에 설명되어 있습니다.
현재 스탠드아론 JOIN은 콤마와 WHERE 절을 사용하는 것에 불과하다고 생각합니다.
효과는 동일하지만 그 이면의 역사는 다르다.쉼표 구문은 ANSI-89 표준에 준거한 것입니다.단, 이 구문에는 많은 문제가 있기 때문에 ANSI-92 표준에서는 JOIN 키워드가 도입되었습니다.
쉼표보다는 항상 JOIN 구문을 사용하는 것이 좋습니다.
T1 JOIN T2 ON ...
보다 읽기 쉽다T1, T2 WHERE ...
.- 테이블 관계와 필터는 서로 섞이지 않고 명확하게 정의되므로 유지보수가 용이합니다.
- JOIN 구문은 콤마 구문보다 OUTER JOIN 구문으로 변환하기가 쉽습니다.
- 같은 문장에서 콤마와 JOIN 구문을 혼재시키면 우선 순위 규칙으로 인해 이상한 오류가 발생할 수 있습니다.
- join 구문을 잊어버렸기 때문에 JOIN 구문을 사용할 때 실수로 데카르트 곱이 생성될 가능성은 낮습니다.join 구문이 join 옆에 쓰여져 있어 누락된 것이 없는지 쉽게 확인할 수 있기 때문입니다.
이것들은 모두 동등하고 또한 같다.CROSS JOIN
.
콤마를 사용하는 것과[INNER | CROSS] JOIN
더 많은 테이블을 결합할 때 중요한 구문입니다.MySQL 설명서에 기재되어 있는 것은 거의 전부입니다.
언급URL : https://stackoverflow.com/questions/4418776/what-is-the-default-mysql-join-behaviour-inner-or-outer
'source' 카테고리의 다른 글
gcc 7.5.0-6ubuntu2에서gcc 8.4.0-3ubuntu2로의 런타임 대규모 퍼포먼스 저하 (0) | 2022.09.30 |
---|---|
LocalDate 및 LocalDateTime에서 에폭을 추출하는 방법 (0) | 2022.09.30 |
숫자의 Excel과 같은 열 이름을 가져오는 알고리즘 (0) | 2022.09.30 |
Python sqlite3 API를 사용한 테이블, db 스키마, 덤프 등의 목록 (0) | 2022.09.30 |
도커 컴포지트를 사용한 Mariadb 이미지의 SQL 모드 변경 (0) | 2022.09.30 |