0
是否可以使用JOIN重寫以下SQL查詢或以其他方式使其更有效? 我可能會使用SQLite(我可以連接到幾個不同的數據庫),這意味着我不能使用RIGHT JOIN(s)。下面查詢中的省略號(...)意味着我可以在那裏有許多UNION(s)。使用連接重寫SQL查詢(或使其他方式更有效)
我以編程方式構造這個查詢,因爲在我的情況下沒有其他方法。我只是想知道如何重寫它以使其更高效。有任何想法嗎 ? 在此先感謝。
SELECT serial_nr, name, cert_type FROM certificates WHERE (cert_type<3 AND
serial_nr IN
(
SELECT DISTINCT serial_nr FROM certificates WHERE (cert_type<3 AND (name LIKE 'george%'))
UNION
SELECT DISTINCT serial_nr FROM ip_addresses WHERE ((address LIKE '192.168%'))
....
));
我認爲你不需要那些'DISTINCT's;)。 –
這取決於數據庫模式以及子查詢和整體查詢的選擇性。 –