在MYSQL中执行LEFT OUTER JOIN时插入零而不是NULL

Cro*_*ode 10 mysql database

有没有办法在两个表上执行LEFT OUTER JOIN时插入零而不是NULL?

假设我有这样的查询:

SELECT * FROM
(SELECT uID from Class) T1
LEFT OUTER JOIN
(SELECT pID from University) T2
ON T1.uID = T2.pID
CASE WHEN T1.uID IS NULL
    THEN 0
ELSE T1.uID
END AS uID`
Run Code Online (Sandbox Code Playgroud)

如我错了请纠正我

don*_*kit 11

使用ISNULL(字段,0)如果字段为NULL,则将插入零

  • 对于MySQL,你的意思是`ifnull()`而不是`isnull()`=) (4认同)

sel*_*sel 9

CASE WHEN a.fieldname IS NULL 
       THEN 0
       ELSE a.fieldname
END AS fieldname
Run Code Online (Sandbox Code Playgroud)


vin*_*eet 5

就像是:-

SELECT * FROM
(SELECT ifnull(uID,0) as uID from Class) T1
   LEFT OUTER JOIN
 (SELECT ifnull(pID,0) as pID from University) T2
   ON T1.uID = T2.pID
Run Code Online (Sandbox Code Playgroud)