这个SQL语句产生了什么?

时间:2017-07-27 14:06:40

标签: sql

我无法找到有关此特定声明的文档

SELECT IF (count(f.id)=0,1,0) as flgNew
FROM table f ON ...
WHERE ...

该表与其他表连接,如果找到f中的条目则返回1,如果找不到则返回0。

那么IF(count(f.id)= 0,1,0)是做什么的呢?

1 个答案:

答案 0 :(得分:2)

它与以下CASE声明基本相同:

SELECT CASE WHEN count(f.id) = 0
            THEN 1
            ELSE 0
       END AS flgNew
...

检查表达式count(f.id) = 0是否为真,如果是,则返回值1,如果不是则返回0

您可以在此处的官方文档中详细了解IF()功能:

https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_if