Megosztás:


Külső illesztések

Az ODBC támogatja az SQL-92 bal, jobb és teljes külső illesztés szintaxisát. A külső illesztések menekülési sorozata a következő:

{ojouter-join}

ahol a külső illesztés

táblahivatkozás {LEFT | RIGHT | FULL} OUTER JOIN {table-reference | outer-join} ONsearch-condition

a táblahivatkozás egy táblanevet, a keresési feltétel pedig a táblahivatkozások közötti illesztés feltételét adja meg.

A külső illesztési kérelemnek a FROM kulcsszó és a WHERE záradék előtt kell megjelennie (ha van ilyen). A teljes szintaxis információért tekintse meg a Outer Join Escape Sequence című részt a C függelékben: SQL Grammar.

Az alábbi SQL-utasítások például ugyanazt az eredményhalmazt hozzák létre, amely felsorolja az összes ügyfelet, és megjeleníti, hogy mely ügyfelek nyitott rendeléseket. Az első utasítás a feloldósorozat szintaxisát használja. A második utasítás az Oracle natív szintaxisát használja, és nem működik együtt.

SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status  
   FROM {oj Customers LEFT OUTER JOIN Orders ON Customers.CustID=Orders.CustID}  
   WHERE Orders.Status='OPEN'  
  
SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status  
   FROM Customers, Orders  
   WHERE (Orders.Status='OPEN') AND (Customers.CustID= Orders.CustID(+))  

Az adatforrások és illesztőprogramok által támogatott külső illesztések típusának meghatározásához egy alkalmazás meghívja az SQLGetInfo-t a SQL_OJ_CAPABILITIES jelzővel. A támogatott külső illesztések típusai a bal, a jobb, a teljes vagy a beágyazott külső illesztések; külső illesztések, amelyekben az ON záradék oszlopnevei nem azonos sorrendben szerepelnek, mint a KÜLSŐ ILLESZTés záradékban szereplő táblázatnevek; belső illesztések külső illesztésekkel együtt; és külső illesztések bármely ODBC összehasonlító operátor használatával. Ha a SQL_OJ_CAPABILITIES adattípus 0 értéket ad vissza, a külső illesztési záradék nem támogatott.