Aracılığıyla paylaş


Dış Birleşimler

ODBC, SQL-92 sol, sağ ve full outer join sözdizimini destekler. Dış birleşimler için kaçış dizisi şu şekildedir:

{ojouter-join}

dış birleşimin olduğu yer

table-reference {LEFT | SAĞ | FULL} OUTER JOIN {table-reference | outer-join} ONarama koşulu

table-reference bir tablo adını, arama koşulu ise tablo başvuruları arasındaki birleştirme koşulunu belirtir.

FROM anahtar sözcüğünden sonra ve WHERE yan tümcesinden önce (varsa) bir dış birleştirme isteği görünmelidir. Tam söz dizimi bilgileri için, Ek C: SQL Dil Bilgisi'nde Dış Birleşim Kaçış Dizisi bölümüne bakın.

Örneğin, aşağıdaki SQL deyimleri tüm müşterileri listeleyen ve hangilerinin açık siparişleri olduğunu gösteren aynı sonuç kümesini oluşturur. İlk ifade kaçış dizimi kullanır. İkinci deyim, Oracle için yerel söz dizimini kullanır ve birlikte çalışamaz.

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(+))  

Bir veri kaynağının ve sürücünün desteklediği dış birleşim türlerini belirlemek için, bir uygulama SQL_OJ_CAPABILITIES bayrağıyla SQLGetInfo çağırır. Desteklenebilen dış birleşim türleri sol, sağ, dolu veya iç içe yerleştirilmiş dış birleşimlerdir; ON yan tümcesindeki sütun adlarının OUTER JOIN yan tümcesindeki ilgili tablo adlarıyla aynı sırada olmadığı dış birleşimler; dış birleşimlerle birlikte iç birleşimler; ve herhangi bir ODBC karşılaştırma işlecini kullanan dış birleşimler. SQL_OJ_CAPABILITIES bilgi türü 0 döndürürse, dış birleştirme yan tümcesi desteklenmez.