0
이 명확하게 잘못 형성된 문입니다 다음과 같은 SQL 문을이 잘못된 (아직 유효한) SQL 조인은 무엇을 의미합니까? 실제로 무엇을하고 있습니까?
select *
from A
inner join B on A.FK = B.PK
inner join C on A.FK = B.PK
을 고려하십시오. C의 조인은 B에 대한 조인 조건을 사용하고 있습니다. 그러나 여전히 실행됩니다. 통역관은이 상황에서 C에 어떻게 가입하기로 결정합니까? 왜 이것이 심지어 허용 된 성명서입니까? 이런 상황이 바람직한 상황이 있습니까?
'올바른'데이터를 반환합니까? 필자는 개발자가 인쇄 상 오류를 범하고 결과를 다시 검증하지 않은 것처럼 보입니다. – Amit
@Amit - 특정 상황에 대한 질문이 아닙니다. 내가 실제로이 작업에 대한 사본 붙여 넣기 오류를 만들었 기 때문에이 질문을 생각했습니다. 그러나 나는 SQL 문이 (오랜 시간 동안) 계속 실행되었다는 것을 알아 차리고 죽였다. 문제는 "실제로 무엇을하고 있으며, 왜 허용되고, 언제까지 바람직합니까?"입니다. –
옵티마이 저는 조건을 자유롭게 다시 설정할 수 있습니다. 따라서 두 조건 (실제로 하나)이 WHERE 섹션에있는 경우와 동일합니다. "그것이 무엇을하고 있는가"에 관해서 - 데카르트 제품은 그것이하는 일입니다. –