MySQL의 "where" 문은 전체 연결을 중단합니다.
P粉141925181
P粉141925181 2023-09-07 21:23:58
0
2
584

다음 형식을 고려하세요.

으아악

t1表缺少2022-02-01日期,t2表缺少2022-03-01. 이 두 테이블을 결합하여 다음 결과를 생성하고 싶습니다.

으아악

해결책은 전체 연결을 사용하는 것입니다.

으아악

이렇게 하면 내가 원하는 결과를 얻을 수 있습니다. 하지만 where 문을 사용하면 모든 것이 깨집니다.

으아악

이 결과를 예상했습니다:

으아악

그러나 나는 다음과 같은 결과를 얻었습니다:

으아악

무슨 문제인지 알지만 해결책을 찾을 수 없습니다. 문제는 t1.date > "whatever"过滤了t1 테이블의 모든 빈 행에 있습니다. 이 방법을 시도했지만 작동하지 않습니다:

으아악
P粉141925181
P粉141925181

모든 응답(2)
P粉201448898

를 사용해야 합니다. 으아악

"NULL = NULL"은 NULL에 값이 없으므로 false로 평가됩니다. 따라서 다른 값(심지어 다른 NULL)과 동일할 수 없습니다. 올바른 방법은 is null

을 사용하는 것입니다.
P粉729198207

오른쪽 조인 쿼리에는 t2.date > "2022-01-01"를 사용해야 할 것 같습니다.

으아악

https://dbfiddle.uk/reo8UanD에서 데모를 확인하세요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿