W SQL Server, mam następujący wzór:
SQL: Pierwszy warunek w instrukcji OR w JOIN jest zawsze wykonywany jako pierwszy?
Czy to w 100% pewien, że pierwszy warunek z lub oświadczenie w JOIN będzie pierwszy stracony? Czy następująca instrukcja SQL spowoduje zielony wynik?
SELECT P.Name, D.Percentage
FROM Personnel P
JOIN Department D ON
P.Dep_Code = D.Code AND
(P.SubDep_Code = D.SubCode OR D.SubCode = '*')
To będzie w dużym stopniu zależą twoja baza danych. Potężne bazy danych, takie jak Oracle, DB2, SQL Server zoptymalizują (biorąc pod uwagę indeksy, histogramy, ograniczenia itp.). O której bazie danych chodzi? –
To jest SQL Server (zaktualizowane pytanie) –
'a lub b' i' b lub a' oznacza to samo w potrójnej logice boolowskiej. Dlaczego chciałbyś, aby sprzężenie odfiltrowało 'P-A | 100', ponieważ warunek łączenia jest prawdziwy dla wierszy leżących poniżej? – Benoit