sql >> Database >  >> RDS >> Oracle

toetreden voorwaarde AAN vs in WAAR

Welnu, wat u 'equivalent' noemt, is geen equivalent voor outer joins. Laten we bijvoorbeeld de linker join nemen.

Voorwaarde in JOIN:

SELECT * FROM Customers c
LEFT JOIN CustomerAccounts ca ON ca.CustomerID = c.CustomerID AND c.State = 'NY'
LEFT JOIN Accounts a ON ca.AccountID = a.AccountID AND a.Status = 1

vs WAAR:

SELECT * FROM Customers c
LEFT JOIN CustomerAccounts ca ON ca.CustomerID = c.CustomerID
LEFT JOIN Accounts a ON ca.AccountID = a.AccountID
WHERE c.State = 'NY'
AND a.Status = 1

Door de voorwaarden in de WHERE-clausule te plaatsen, worden de joins effectief INNER joins, omdat de WHERE-component een rij is filter dat wordt toegepast na de koppelingen zijn gemaakt.



  1. COVID-19-paraatheid bij ScaleGrid

  2. Hoe tekenreeks te vergelijken voor een enkele spatie

  3. Magento Mass Import afbeeldingen met MAGMI - afbeeldingen uitgesloten

  4. statement voor npgsql met parameter