是否有关于 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"]
显然会包含正确的结果,因为该值已设置并且在两个表中都是相同的。但是如果 中没有匹配Files
项, NULL 值是否会Files
覆盖 的非 NULL 值Items
?
我真的在寻找一些规范来定义 Sqlite3 实现必须如何处理这种情况,以便我可以信任任何一个结果。