Twee tabellen gebruiken in de from
clausule is functioneel equivalent aan een cross join
:
select *
from A
cross join
B
Dit retourneert een rij van A voor elke rij in B. Als B leeg is, is het resultaat ook leeg. Je kunt dat oplossen door een left join
. te gebruiken . Met een left join
, kunt u rijen retourneren, zelfs als een van de tabellen leeg is. Bijvoorbeeld:
select *
from A
left join
B
on 1=1
Als de voorwaarde 1=1
is altijd waar, dit is net als een cross join
behalve dat het ook werkt voor lege tabellen.