Złączenia wewnętrzne zwracają wiersz tylko wtedy, gdy
kolumny w złączeniu spełniają warunek złączenia. To oznacza, że jeżeli wiersz w
jednej kolumn w warunku złączenia posiada wartość NULL, nie zostanie on zwrócony. Prezentowane dotychczas złączenia (Lekcja 9. Instrukcja SELECT wykorzystująca klika tabel.) były przykładami
złączeń wewnętrznych.
Wcześniej do wykonania złączenia wewnętrznego
stosowaliśmy poniższe zapytanie zgodne ze standardem SQL/86:
W standardzie SQL/92 do wykonywania złączeń
wewnętrznych służą klauzule INNER JOIN
i ON. Poniższe zapytanie ma takie
samo znaczenie jak zapytanie przedstawione powyżej, użyto w nim jednak klauzul INNER JOIN i ON:
W
zapytaniu słowo INNER jest opcjonalne.
Upraszczanie
złączeń za pomocą słowa kluczowego USING
Standard SQL/92 pozwala jeszcze bardziej uprościć
warunek złączenia przez zastosowanie słowa kluczowego USING. Występują tutaj jednak pewne ograniczenia:
- Zapytanie musi wykorzystywać równozłączenie (=)
- Kolumny w równozłączeniu muszą mieć taką samą nazwę
Równozłączenia stanowią większość wykonywanych
złączeń, a jeżeli będziemy zawsze nazywali klucze obce tak jak odpowiednie
klucze główne, warunki te będą spełnione.
W poniższym zapytaniu wykorzystano słowo kluczowe USING zamiast ON:
Gdy kolumny występujące w warunku
łączącym są tej samej nazwy możemy również użyć słowa kluczowego NATURAL JOIN. Jest to jednak odradzane, ponieważ może się trafić sytuacja
gdy będzie więcej dopasowań kolumn o tej samej nazwie niż jedna. Poniższe zapytanie
ma takie samo znaczenie jak zapytanie przedstawione powyżej, użyto w nim jednak
klauzul NATURAL JOIN:
Wykonywanie
złączeń wewnętrznych obejmujących więcej niż dwie tabele
Wcześniej opracowaliśmy następujące zapytanie,
pobierające wiesze z tabel employee, department, job, country :
Brak komentarzy:
Prześlij komentarz