Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Łączy rekordy tabeli źródłowej w przypadku użycia w dowolnej klauzuli FROM.

Składnia

FROM tabela1 [ LEFT | RIGHT ] JOIN tabela2
ON tabela1.pole1 operator_porównania tabela2.pole2

Operacje LEFT JOIN i RIGHT JOIN zawierają następujące segmenty:

Segment

Opis

tabela1, tabela2

Nazwy tabel, z których pochodzą łączone rekordy.

pole1, pole2

Nazwy sprzęganych pól. Pola muszą mieć ten sam typ danych i zawierać ten sam rodzaj danych, ale mogą mieć inne nazwy.

operator_porównania

Dowolny relacyjny operator porównania: „=”, „<”, „>”, „<=”, „>=”, lub „<>”.


Spostrzeżenia

Użyj operacji LEFT JOIN, aby utworzyć lewe sprzężenie zewnętrzne. Lewe sprzężenia zewnętrzne obejmują wszystkie rekordy z pierwszej (lewej) z dwóch tabel, nawet jeśli nie ma pasujących wartości dla rekordów z drugiej (prawej) tabeli.

Użyj operacji RIGHT JOIN, aby utworzyć prawe sprzężenie zewnętrzne. Prawe sprzężenia zewnętrzne obejmują wszystkie rekordy z drugiej (prawej) z dwóch tabel, nawet jeśli nie ma pasujących wartości dla rekordów z pierwszej (lewej) tabeli.

Na przykład można użyć operacji LEFT JOINT na tabeli lewej Departments (Działy) i tabeli prawej Employees (Pracownicy), aby wybrać wszystkie działy, łącznie z tymi, do których nie są przypisani żadni pracownicy. Aby wybrać wszystkich pracowników, łącznie z tymi, którzy nie są przypisani do żadnego działu, użyj operacji RIGHT JOIN.

W poniższym przykładzie pokazano, jak utworzyć sprzężenie tabel Categories (Kategorie) i Products (Produkty) w polu CategoryID (Identyfikator kategorii). Zapytanie zwróci listę wszystkich kategorii, łącznie z tymi, które nie zawierają żadnych produktów:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

W tym przykładzie pole CategoryID (Identyfikator kategorii) jest polem sprzężonym, które jednak nie jest uwzględnione w wynikach zapytania, ponieważ nie jest zawarte w instrukcji SELECT. Aby uwzględnić pole sprzężone, wprowadź nazwę tego pola w instrukcji SELECT — w tym przypadku jest to nazwa Categories.CategoryID.

Aby utworzyć zapytanie, które obejmuje wyłącznie rekordy, w których dane w polach sprzężonych są takie same, użyj operacji INNER JOIN.

  • Operacja LEFT JOIN lub RIGHT JOIN może być zagnieżdżona w operacji INNER JOIN, ale operacja INNER JOIN nie może być zagnieżdżona w operacji LEFT JOIN ani w operacji RIGHT JOIN. Aby dowiedzieć się, jak zagnieździć sprzężenia w innych sprzężeniach, zapoznaj się z dyskusją na temat zagnieżdżania w artykule dotyczącym operacji INNER JOIN.

  • Możesz połączyć kilka klauzul ON. Zapoznaj się z dyskusją na temat łączenia klauzul w artykule dotyczącym operacji INNER JOIN, aby dowiedzieć się, jak to się robi.

W przypadku próby połączenia pól zawierających dane typu Nota lub Obiekt OLE wystąpi błąd.



Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×