Jak: Tworzenie sprzężenia zewnętrzne
Domyślnie kwerendy i projektanta widoku tworzy sprzężenie wewnętrzne między tabelami.Jeśli chcesz dołączyć dane wierszy w zestawie wyników, które nie mają odpowiednika w sprzężonej tabeli, można utworzyć sprzężenie zewnętrzne.
Podczas tworzenia sprzężenia zewnętrznego, kolejność, w jakiej tabele występują w instrukcji SQL (jak jest widoczna w okienku SQL) jest znaczny.Pierwsza wprowadzona tabela staje się tabelą "lewą", a druga tabela staje się tabelą "prawą".(Rzeczywistej kolejności, w jakiej tablice pojawiają się w okienku Diagram nie ma znaczenia). Podczas określania prawostronnego lub zewnętrzne prawe odwołujesz się do kolejności, w jakiej tabele zostały dodane do kwerendy i kolejności, w jakiej pojawiają się w instrukcji SQL w okienko SQL.
[!UWAGA]
Na danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Aby utworzyć sprzężenie zewnętrzne
Utwórz sprzężenie, automatycznie lub ręcznie.For details, see Jak: automatycznie utworzyć sprzężenie między tabelami or Jak: ręcznie utworzyć sprzężenie między tabelami.
Zaznacz linię sprzężenia, w okienku Diagram, a następnie z Projektant kwerend menu, wybierz polecenie Zaznacz wszystkie wiersze z <tablename>, zaznaczając polecenie dołączające tabelę, której dodatkowe wiersze, które chcesz dołączyć.
Wybierz pierwszą tabelę, aby utworzyć lewostronne sprzężenie zewnętrzne.
Wybierz drugiej tabeli, aby utworzyć prawe sprzężenie zewnętrzne.
Wybierz obie tabele, aby utworzyć pełne sprzężenie zewnętrzne.
[!UWAGA]
Niektóre bazy danych, takich jak Oracle, nie obsługują pełne sprzężenia zewnętrzne.
Po określeniu sprzężenie zewnętrzne, kwerendy i widoku Projektant modyfikuje linię sprzężenia, aby wskazać sprzężenie zewnętrzne.
Ponadto kwerendy i widoku Projektant modyfikuje instrukcję SQL w okienku SQL, aby odzwierciedlić zmianę typu sprzężenia, jak pokazano w następującej instrukcji:
SELECT employee.job_id, employee.emp_id,
employee.fname, employee.minit, jobs.job_desc
FROM employee LEFT OUTER JOIN jobs ON
employee.job_id = jobs.job_id
Ponieważ sprzężenie zewnętrzne zawiera niepasujących wierszy, można go użyć do znajdowania wierszy naruszających ograniczenia na klucz obcy.W tym celu należy utworzyć sprzężenie zewnętrzne, a następnie dodać warunek wyszukiwania, aby znaleźć wiersze, w których kolumna klucza podstawowego tabeli po prawej stronie ma wartość null.Na przykład, następujące sprzężenie zewnętrzne znajduje wiersze w employee tabeli, które nie mają odpowiadających im wierszy w jobs tabeli:
SELECT employee.emp_id, employee.job_id
FROM employee LEFT OUTER JOIN jobs
ON employee.job_id = jobs.job_id
WHERE (jobs.job_id IS NULL)