我有查询从表中查找某些客户.
SELECT COUNT(*)
FROM CUSTOMER
WHERE amount <> 0
AND customerid = 22
Run Code Online (Sandbox Code Playgroud)
customerid上有一个索引,因此DB会扫描customerid = 22的所有行.
由于通过检查计数是返回零还是大于零来处理结果,我该如何优化查询?也就是说,在第一个客户行,金额<> 0,如果所有行都是= 0,则查询返回0,然后返回1.
在不使用WHERE子句的情况下,在简单查询中是否有任何方法可以使用SQL EXISTS语句返回布尔值?
所有2008 R2 SQL Server联机丛书示例都显示了另一个WHERE子句和两个表.网站示例显示过程中的WHERE或IF-THEN-ELSE.
我希望在一张桌子上做以下事情:
EXISTS
(SELECT cx.id
FROM fdd.admissions_view as cx
WHERE cx.id=1111 and cx.campus='MEXI')
Run Code Online (Sandbox Code Playgroud)
SELECT语句正常工作并返回ID.我只想添加EXISTS来返回BOOLEAN,但上面的语法无效.
我可以这样做吗?如果是这样,我在语法方面缺少什么?如果没有,还有什么其他技术可行?
请指教.谢谢.
如果表格包含超过700,000行,则确定项目是否存在的性能最佳
if (Select count(id) from Registeration where email='email@w.cn') > 0
print 'Exist'
else
print 'Not Exist'
Run Code Online (Sandbox Code Playgroud)
要么
if Exists(Select id from Registeration where email='email@w.cn')
print 'Exist'
else
print 'Not Exist'
Run Code Online (Sandbox Code Playgroud) 我需要将EXISTS函数的结果写入变量.我读到SQL Server没有'bool'变量,所以我想将结果存储在一个位变量中.反之亦然,从'bit'转换为'bool'.我怎样才能实现它?