sql >> データベース >  >> RDS >> Mysql

MySQLはwhere句を使用して外部結合を残しました-一致しない行を返します

    はい。 where 節は、左側の外部結合を内部結合に変えています。

    なんで? pe.pqidの値 NULLです (pe.uidも同様です )一致するものがない場合。したがって、whereでの比較 句が失敗します(NULLとのほとんどすべての比較 NULLを返します これは誤りと見なされます。

    解決策は、比較をonに移動することです。 条項:

    SELECT pq.id, pq.data, pe.data
    FROM pq LEFT OUTER JOIN
         pe
         ON pq.id = pe.pqid and
            pe.uid='12345'
    ORDER BY pq.id LIMIT 2
    



    1. oracleテーブルを変更する方法範囲間隔でパーティションを追加

    2. 使用されるSELECTステートメントの列数が異なります

    3. クエリによって返された複数のResultSetのソリューションは何ですか

    4. クロウの足の表記