Korzystanie z dwóch tabel w from
klauzula jest funkcjonalnie równoważna z cross join
:
select *
from A
cross join
B
Zwraca wiersz A dla każdego wiersza w B. Gdy B jest puste, wynik również jest pusty. Możesz to naprawić, używając left join
. Z left join
, możesz zwracać wiersze, nawet jeśli jedna z tabel jest pusta. Na przykład:
select *
from A
left join
B
on 1=1
Jako warunek 1=1
jest zawsze prawdziwe, to tak jak w przypadku cross join
z wyjątkiem tego, że działa również dla pustych tabel.