Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
ODBC podporuje syntaxi levého, pravého a úplného vnějšího spojení SQL-92. Úniková sekvence pro vnější spojení je
{ojouter-join}
kde vnější spojení je
odkaz na tabulku {LEFT | RIGHT | FULL} OUTER JOIN {odkaz na tabulku | outer-join} ONsearch-condition
Table-reference určuje název tabulky a podmínka hledání určuje podmínku spojení mezi odkazy na tabulky.
Žádost o vnější spojení se musí zobrazit za klíčovým slovem FROM a před klauzulí WHERE (pokud existuje). Úplné informace o syntaxi naleznete v části Řídicí sekvence vnějšího spojení v dodatku C: Gramatika SQL.
Například následující příkazy SQL vytvoří stejnou sadu výsledků, která obsahuje seznam všech zákazníků a ukazuje, které mají otevřené objednávky. První příkaz používá syntaxi escape sekvence. Druhý příkaz používá nativní syntaxi oracle a není interoperabilní.
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(+))
Chcete-li určit typy vnějších spojení, které podporuje zdroj dat a ovladač, aplikace volá SQLGetInfo příznakem SQL_OJ_CAPABILITIES. Typy vnějších spojení, které mohou být podporovány, jsou levé, pravé, plné nebo vnořené vnější spojení; vnější spojení, ve kterých názvy sloupců v klauzuli ON nemají stejné pořadí jako jejich názvy tabulek v klauzuli OUTER JOIN ; vnitřní spojení ve spojení s vnějšími spojeními; a vnější spojení pomocí libovolného relačního operátoru ODBC. Pokud SQL_OJ_CAPABILITIES informační typ vrátí hodnotu 0, není podporována žádná vnější klauzule join.