Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie mehrere Tabellen aus, wenn eine Tabelle in MySQL leer ist

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.