Mysql Left Join Null Result

前端 未结 4 907
慢半拍i
慢半拍i 2020-12-30 02:52

I have this query

SELECT articles.*, 
       users.username AS `user` 
 FROM `articles` 
LEFT JOIN `users` ON articles.user_id = users.id 
 ORDER BY articles         


        
4条回答
  •  天命终不由人
    2020-12-30 03:37

    Use:

       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 
    

    Documentation:

    • COALESCE

    The reason to choose COALESCE over IF or IFNULL is that COALESCE is ANSI standard, while the other methods are not reliably implemented over other databases. I would use CASE before I'd look at IF because again - CASE is ANSI standard, making it easier to port the query to other databases.

提交回复
热议问题