Utilisation de deux tables dans le from la clause est fonctionnellement équivalente à une cross join :
select *
from A
cross join
B
Cela renvoie une ligne de A pour chaque ligne de B. Lorsque B est vide, le résultat est également vide. Vous pouvez résoudre ce problème en utilisant une left join . Avec une left join , vous pouvez renvoyer des lignes même si l'une des tables est vide. Par exemple :
select *
from A
left join
B
on 1=1
Comme condition 1=1 est toujours vrai, c'est comme une cross join sauf que cela fonctionne aussi pour les tables vides.