Null Values and Joins
Jeśli nie ma wartości null w kolumnach tabel, że jest dołączony, wartości null nie pasują do siebie nawzajem.Występowanie wartości null kolumna z jednej z tabel, że jest dołączony mogą być zwracane tylko przy użyciu łączyć zewnętrznego (chyba że klauzula WHERE nie obejmuje wartości null).
Oto dwie tabele, każda ma wartość NULL kolumna, który będzie brać udział w sprzężeniu:
table1 table2
a b c d
------- ------ ------- ------
1 one NULL two
NULL three 4 four
4 join4
łączyć, który porównuje wartości kolumna a wobec kolumna c nie uzyska dopasowanie kolumna, które zawierają wartości NULL:
SELECT *
FROM table1 t1 JOIN table2 t2
ON t1.a = t2.c
ORDER BY t1.a
Tylko jeden wiersz z 4 kolumna a i c zwracany jest:
a b c d
----------- ------ ----------- ------
4 join4 4 four
(1 row(s) affected)
Wartości null, zwrócony z tabela bazowa są również trudno odróżnić od wartości null, zwrócone przez łączyć zewnętrzne.Na przykład następujące SELECT Instrukcja nie lewego łączyć zewnętrznego w tych dwóch tabel:
SELECT *
FROM table1 t1 LEFT OUTER JOIN table2 t2
ON t1.a = t2.c
ORDER BY t1.a
Here is the result set.
a b c d
----------- ------ ----------- ------
NULL three NULL NULL
1 one NULL NULL
4 join4 4 four
(3 row(s) affected)
Wyniki nie należy wprowadzać go można łatwo odróżnić NULL w danych z NULL które reprezentuje błąd przyłączyć. Jeśli wartości null są obecne w danych, że jest dołączony, zazwyczaj wygodniej jest, aby pominąć je z listy wyniki za pomocą zwykłego łączyć.