查询结果如果不存在可以在sql中直接对结果进行判断赋值,避免查询出结果后采用后端语言进行判断再处理。
采用方法是MySQL ifnull方法。
IFNULL(expression_1,expression_2)
解释:如果expression_1不为NULL,则IFNULL函数返回expression_1; 否则返回expression_2的结果。
举例:1.做判断赋值
SELECT
contactname, IFNULL(bizphone, homephone) phone
FROM
contacts;
解释:如果表格中的字段 “bizphone” 不存在,则会返回 "htmephone" 的值,如果存在,则返回 "bizphone" 值。
举例:2.做查询判断赋值(其中ifnull 的两个参数可以sql)
SELECT *,IFNULL((SELECT field FROM table_1 WHERE field = qualification ),"") as field_value
FROM table_2
解释:如果查询表1的字段为空则会返回条件2的空,否则就会返回表1的字段值。当然条件2也可以是一条sql。