次の場合に発生するはずのことを説明する Sqlite3 に関するドキュメント/仕様はありますか?
次のクエリを実行します。
var cmd = new SqliteCommand("SELECT Items.*, Files.* FROM Items LEFT JOIN Files ON Files.strColName = Items.strColName");
と の両方Items
にFiles
列名 " strColName " があります。エントリが に存在する場合Files
は結果に結合され、存在しない場合は NULL になります。からのものであろうとなかろうと、 strColNameの値が常に必要であると仮定しましょう。リーダーを実行すると:Items
Files
var reader = cmd.ExecuteReader();
に一致するものがある場合、値が設定され、両方のテーブルで同じであるためFiles
、 にreader["strColName"]
は明らかに正しい結果が含まれます。しかし、 に一致がなかった場合、 の NULL 値はの非Files
NULL 値を上書きしますか?Files
Items
どちらの結果も信頼できるように、Sqlite3 実装がこのケースに対処する方法を定義する仕様を本当に探しています。