我希望通过组合4个表来获得结果。以前我使用4个不同的查询并提高性能,从加入表和从单个表查询开始。但是表现没有任何改善。
我后来才知道SQLite将join语句转换为“where子句”,我可以直接使用“Where”子句而不是join来节省一些CPU时间。
但是“Where”子句的问题是如果四个中的一个条件失败,则结果集为空。我想要一个包含其余列(与其他条件相匹配)的表,如果一个条件失败,则不是空表。有没有办法实现这个?谢谢!
答案 0 :(得分:0)
您是否考虑过使用LEFT OUTER JOIN?
例如
SELECT Customers.AcctNumber, Customers.Custname, catalogsales.InvoiceNo
FROM Customers
LEFT OUTER JOIN catalogsales ON Customers.Acctnumber = catalogsales.AcctNumber
在这个例子中,如果“catalogsales”中没有任何匹配的行,那么它仍然会从“左”表中返回数据,在这种情况下是“Customers”
如果没有示例SQL,很难知道你尝试了什么。