찾다

 >  Q&A  >  본문

MySQL의 "where" 문은 전체 연결을 중단합니다.

다음 형식을 고려하세요.

으아악

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

으아악

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

으아악

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

으아악

이 결과를 예상했습니다:

으아악

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

으아악

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

으아악
P粉141925181P粉141925181450일 전587

모든 응답(2)나는 대답할 것이다

  • P粉201448898

    P粉2014488982023-09-08 19:22:14

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

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

    을 사용하는 것입니다.

    회신하다
    0
  • P粉729198207

    P粉7291982072023-09-08 17:50:08

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

    으아악

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

    회신하다
    0
  • 취소회신하다