table 是关键词 请用[]将其括起来 [table]
where后面判断出来必须是bool类型 你的if语句写在这里明显是不行的
解决办法可以是先判断 再分别执行 多写点也没有关系啊 执行效率是一样的
肯定是 一条记录和一条记录比吧
比如
declare @shla int ,@shlb int
select @shla=shl from a where 你的条件
select @shlb=shl from b where 你的条件
if(@shla>@shlb)
--你要执行的语句
else
--你要执行的语句
SQL语句中是没有ifelse语句的,但可以用case语句代替,而且是所有数据库都支持的,效果和if语句一样,都是表示条件。具体使用语法如下:
case when 条件1,
then 结果1;
when 条件2 ,
then 结果2 ;
else 结果N ,end。
可以有任意多个条件,如果没有默认的结果,最后的else也可以不写。
例如:select case when col1 > 1 then col2 else col3 end from XXXtable
可以实现,以sql server为例看:
if not exists(select userName from food join diningcar on foodfoodId=diningcarfoodId join users on diningcaruserId=usersuserId where (comment=0 or comment=-1) and userName='zq' group by userName)
select 0,'zq'
else
select sum(price),userName from food join diningcar on foodfoodId=diningcarfoodId join users on diningcaruserId=usersuserId where (comment=0 or comment=-1) and userName='zq' group by userName
方法二:
select isnull(sum(price),0),userName
from food join diningcar on foodfoodId=diningcarfoodId
join users on diningcaruserId=usersuserId
where (comment=0 or comment=-1) and userName='zq'
group by userName
不知道是不是你想要的结果,但是我有个疑问,你为什么不在程序里进行判断,而是要让sql语句判断呢?
1、首先我们打开SQL Server Management Studio管理工具,点击新建查询,新增一个书写sql语句的窗口。
2、在上一步打开的sql语句输入窗口,定义一个整数类型的变量,设置初始值等于10。
3、使用if条件语句,判断上面的临时变量是否等于10,如果等于就输出一行文字。
4、当上面的sql语句写完之后,点击顶部菜单的执行,就能运行当前窗口的sql语句了,此时可以看到下方输出了一行文字,刚好与if条件语句内部的内容一致,说明这个if条件判断成立。
5、这个时候就可以使用else语句。例如,判断变量是否等于5,不管是否等于都输出一句话。从运行结果可以看出,最终输出的是else下面的内容。
6、上面的sql语句,内容判断其实很简单,但是,语句看起来有点繁琐。那么,当if、else判断成立后,各自只有一条sql语句执行的时候,就可以省略begin-end。
7、如果条件判断不止两个结果,比如有三个结果,就可以使用[if]-[else if]-[else]的结构,假设还有4个结果,就在中间继续添加else if即可。
不知道您指的是什么的sql脚本。
如果是数据库语言的话大概是这么写:
update “表名”
set ID=“0”
where ID>“30”
不过不同数据库的语言可能有细微变化。。。
希望对您有所帮助,谢谢。
以上就是关于数据库的if条件语句怎么用全部的内容,包括:数据库的if条件语句怎么用、sql if语句判断、SQL语句中能否含有if....else...判断语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)