sql >> Database >  >> RDS >> Mysql

Mysql Left Join Null Resultaat

Gebruik:

   SELECT a.*, 
          COALESCE(u.username, 'User Not Found') AS `user` 
     FROM ARTICLES a
LEFT JOIN USERS u ON u.id = a.user_id
 ORDER BY articles.timestamp 

Documentatie:

De reden om COALESCE te verkiezen boven IF of IFNULL is dat COALESCE de ANSI-standaard is, terwijl de andere methoden niet betrouwbaar worden geïmplementeerd ten opzichte van andere databases. Ik zou CASE gebruiken voordat ik naar IF zou kijken, want nogmaals - CASE is de ANSI-standaard, waardoor het gemakkelijker wordt om de query naar andere databases te porteren.



  1. Maak een index op een enorme MySQL-productietafel zonder tafelvergrendeling

  2. Kan sorteerconflict niet oplossen

  3. SQLite BESTAAT

  4. Laravel classloader.php-fout kan stream niet openen:geen bestand of map