Brug af to tabeller i from
klausul er funktionelt ækvivalent med en cross join
:
select *
from A
cross join
B
Dette returnerer en række af A for hver række i B. Når B er tom, er resultatet også tomt. Du kan rette det ved at bruge en left join
. Med en left join
, kan du returnere rækker, selvom en af tabellerne er tom. For eksempel:
select *
from A
left join
B
on 1=1
Som betingelsen 1=1
er altid sandt, dette er ligesom en cross join
bortset fra at det også virker for tomme tabeller.