Verwenden von zwei Tabellen im from
-Klausel ist funktional äquivalent zu einem cross join
:
select *
from A
cross join
B
Dies gibt eine Zeile von A für jede Zeile in B zurück. Wenn B leer ist, ist das Ergebnis auch leer. Sie können das beheben, indem Sie einen left join
verwenden . Mit einem left join
, können Sie Zeilen zurückgeben, selbst wenn eine der Tabellen leer ist. Zum Beispiel:
select *
from A
left join
B
on 1=1
Als Bedingung 1=1
immer wahr ist, ist dies genau wie ein cross join
außer es funktioniert auch für leere Tabellen.