Udostępnij przez


How to: Create Outer Joins (Visual Database Tools)

Domyślnie Kwerendy i projektanta widoku tworzy łączyć wewnętrzne między tabelami.Sprzężenia wewnętrzne usunąć wiersze, które nie są zgodne z wierszem z innej tabela.Sprzężenia zewnętrzne, jednak zwracać wszystkie wiersze z co najmniej jednej z tabel lub widoków, wymienionych w klauzula FROM, tak długo, jak te wiersze spełnia żadnego miejsca lub HAVING warunków wyszukiwania.Jeśli chcesz uwzględnić wiersze danych zestaw wyników, które nie mają odpowiednika w sprzężonej tabela, można utworzyć łączyć zewnętrzne.

Po utworzeniu łączyć zewnętrzne, kolejność, w jakiej tabele występują w instrukcja języka SQL (jak widoczna w okienku SQL) ma znaczenie.Z pierwszej tabeli, należy dodać staje się "" lewa"tabela, a druga tabela staje się w tabeli""prawa".(Rzeczywistej kolejności, w jakiej tabele występują w Okienko Diagram nie ma znaczenia.) Po określeniu łączyć po lewej lub prawej zewnętrznego odnosi się do kolejności, w jakiej tabele zostały dodane do kwerendy i do porządku, w jakiej pojawiają się w instrukcja języka SQL w Okienko SQL.

Aby utworzyć łączyć zewnętrzne

  1. Utwórz łączyć, automatycznie lub ręcznie.Aby uzyskać więcej informacji zobacz Jak Automatycznie łączyć tabel (Visual Database Tools) lub Jak Dołącz tabele ręcznie (Visual Database Tools).

  2. Zaznacz linię łączyć w okienku Diagram, a następnie od projektant kwerendmenu WybieranieZaznacz wszystkie wiersze z <nazwa_tabeli>, wybierając polecenie, które zawiera tabela, której dodatkowe wiersze, które mają zostać uwzględnione.

    • Wybierz pierwszą tabela, aby utworzyć lewostronne łączyć zewnętrzne.

    • Wybierz drugą tabela, aby utworzyć prawe łączyć zewnętrzne.

    • Wybierz obie tabele, aby utworzyć pełne łączyć zewnętrzne.

Po określeniu łączyć zewnętrzne kwerendę i projektanta widoku modyfikuje linię łączyć, aby wskazać łączyć zewnętrzne.

Ponadto, modyfikuje kwerendę i projektanta widoku instrukcja języka SQL w okienku SQL, aby odzwierciedlić zmianę typu łączyć, jak pokazano w poniższej instrukcja:

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ż łączyć zewnętrzne zawiera niepasujących wierszy, należy ją stosować do znajdowania wierszy naruszających ograniczenia na klucz obcy.W tym celu należy utworzyć łączyć zewnętrzne, a następnie dodać warunek wyszukiwania, aby znaleźć wiersze, dla których kolumna klucz podstawowy w tabela po prawej stronie jest null.Na przykład, następujące łączyć zewnętrzne znajduje wiersze w employee Tabela, które nie mają odpowiadających im wierszy jobs Tabela:

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)