这个SQL语句生成什么?

这个SQL语句生成什么?,sql,Sql,我很难找到有关此特定声明的文档 SELECT IF (count(f.id)=0,1,0) as flgNew FROM table f ON ... WHERE ... 该表与其他表联接,如果在f中找到条目,则应返回1;如果未找到条目,则应返回0 那么如果(count(f.id)=0,1,0)做什么呢?基本上与下面的CASE语句相同: SELECT CASE WHEN count(f.id) = 0 THEN 1 ELSE 0 E

我很难找到有关此特定声明的文档

SELECT IF (count(f.id)=0,1,0) as flgNew
FROM table f ON ...
WHERE ...
该表与其他表联接,如果在
f
中找到条目,则应返回1;如果未找到条目,则应返回0


那么如果(count(f.id)=0,1,0)做什么呢?

基本上与下面的
CASE
语句相同:

SELECT CASE WHEN count(f.id) = 0
            THEN 1
            ELSE 0
       END AS flgNew
...
它检查表达式
count(f.id)=0
是否为真,如果为真,则返回值
1
,如果为假,则返回值
0

您可以在这里的官方文档中阅读有关
IF()
函数的更多信息:


无论计数显示为1,都可能是要翻译的IF语句。同样可以通过案例来实现。好吧,这是合理的!