기본 MySQL JOIN 동작, INNER 또는 OUTER는 무엇입니까?
그래서 저는 지난 한 시간 동안 인터넷을 통해이 간단한 질문에 대한 확실한 답을 읽고 찾고있었습니다.
MySQL의 기본 JOIN은 무엇입니까?
SELECT * FROM t1 JOIN t2
그것은
SELECT * FROM t1, t2
OR
SELECT * FROM t1 INNER JOIN t2
또한 "WHERE"절을 사용할 때 관련 질문이 JOIN 또는 INNER JOIN과 동일합니까?
지금은 독립형 JOIN이 쉼표와 WHERE 절을 사용하는 것과 동일하다고 생각합니다.
MySQL에서 JOIN
비정규 작성은 INNER JOIN
. 즉, INNER
in INNER JOIN
은 선택 사항입니다. INNER
그리고 CROSS
MySQL의 동의어입니다. 명확성을 위해 작성 JOIN
하거나 INNER JOIN
조인 조건 CROSS JOIN
이 있고 조건이없는 경우.
지금은 독립형 JOIN이 쉼표와 WHERE 절을 사용하는 것과 동일하다고 생각합니다.
효과는 같지만 그 뒤에 숨겨진 역사는 다릅니다. 쉼표 구문은 ANSI-89 표준에서 가져온 것입니다. 그러나이 구문에는 많은 문제가 있으므로 ANSI-92 표준에서 JOIN 키워드가 도입되었습니다.
쉼표 대신 항상 JOIN 구문을 사용 하는 것이 좋습니다 .
T1 JOIN T2 ON ...
보다 읽기 쉽습니다T1, T2 WHERE ...
.- 테이블 관계와 필터가 함께 혼합되지 않고 명확하게 정의되기 때문에 유지 관리가 더 쉽습니다.
- JOIN 구문은 쉼표 구문보다 OUTER JOIN으로 변환하기가 더 쉽습니다.
- 동일한 문에서 쉼표와 JOIN 구문을 혼합하면 우선 순위 규칙으로 인해 이상한 오류가 발생할 수 있습니다.
- 조인 절이 조인 옆에 작성되고 조인이 누락되었는지 쉽게 알 수 있기 때문에 조인 절을 잊어 버려서 JOIN 구문을 사용할 때 실수로 데카르트 곱을 만들 가능성이 적습니다.
이것들은 모두 동등하고 동일합니다 CROSS JOIN
.
[INNER | CROSS] JOIN
더 많은 테이블을 조인 할 때 중요 할 수있는 쉼표와 구문 사용간에 약간의 차이 가 있습니다. 여러분이 알아야 할 거의 모든 것은 여기 MySQL JOIN
문서 에 설명되어 있습니다 .
참고 URL : https://stackoverflow.com/questions/4418776/what-is-the-default-mysql-join-behaviour-inner-or-outer
'IT story' 카테고리의 다른 글
문자열 리소스에 공백 적용 (0) | 2020.09.17 |
---|---|
CoffeeScript의 비공개 멤버? (0) | 2020.09.17 |
세그먼트 화 오류 (코어 덤프) 란 무엇입니까? (0) | 2020.09.16 |
우편 배달부를 사용하여 특정 요청을 파일로 내보내는 방법 (0) | 2020.09.16 |
xpath를 사용하여 노드 위치 찾기 (0) | 2020.09.16 |