sql >> Database >  >> RDS >> Mysql

Selecteer meerdere tabellen wanneer één tabel leeg is in MySQL

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.



  1. UPDATE-instructie om een ​​kolomwaarde opnieuw toe te wijzen volgens een numerieke formule

  2. Vastgelopen bij het bouwen van MySQL-query

  3. MS Access tot Oracle eenvoudige conversie / migratie

  4. Waarde '0000-00-00' kan niet worden weergegeven als java.sql.Date