Mysql
 sql >> Base de données >  >> RDS >> Mysql

Sélectionnez plusieurs tables lorsqu'une table est vide dans MySQL

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.