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

左外部結合がプライマリテーブルからすべてのレコードを返さない

    where句は、外部結合を内部結合に変換し直しています。

    outer joinによって保持されている一致しない行 すべてNULLになります documentation.statusの値 したがって、documentation.status != 3 条件はこれらを除外します(式NULL !=3の結果 unknownです trueではありません 。

    この問題を回避するには、

    を使用します
    select documentation_reference.ref_docnumber,
           documentation.filename
    from   documentation_reference
           left outer join documentation
             on ref_docnumber = documentation.docnumber
                and documentation.status != 3
    where  documentation_reference.docnumber = 'TP-036'  
    

    documentation.status != 3に注意してください 述語はJOINに移動されます 状態。



    1. mysqlクエリを使用して、を除くすべてを選択します

    2. Oracle CloudPlatformでのMySQLデータベースサービスでのOracleJDeveloperの使用、パート1

    3. SQLServerのSTATISTICSPROFILEとは何ですか?

    4. mysqlはONとANDに参加して雄弁に語ります