sql >> Base de Datos >  >> RDS >> Mysql

Seleccione varias tablas cuando una tabla esté vacía en MySQL

Usando dos tablas en el from la cláusula es funcionalmente equivalente a una cross join :

select  *
from    A
cross join
        B

Esto devuelve una fila de A por cada fila de B. Cuando B está vacío, el resultado también está vacío. Puedes arreglar eso usando una left join . Con una left join , puede devolver filas incluso si una de las tablas está vacía. Por ejemplo:

select  * 
from    A
left join  
        B
on      1=1

Como condición 1=1 siempre es cierto, esto es como una cross join excepto que también funciona para mesas vacías.