sql语句中判断条件的使用

有这样的需求,select*fromtable_1wherenumberin(selectnumberfromtable_2).怎么写语句让table2表为空时展示sel... 有这样的需求,select * from table_1 where number in(select number from table_2). 怎么写语句让table2表为空时展示 select * from table_1,让table2表不为空时展示 select * from table_1 where number in(select number from table_2). 谢谢 展开
 我来答
轻烟谈生活
高粉答主

2019-07-12 · 轻烟和你聊聊生活中的有趣事
轻烟谈生活
采纳数:7 获赞数:116654

向TA提问 私信TA
展开全部

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的艺术
推荐于2017-09-10 · SQL写多了就会在追求极致
SQL的艺术
采纳数:2040 获赞数:3323

向TA提问 私信TA
展开全部
if exists(select 0 from table_2)
    select * from table_1 where  number in(select number from table_2)
else
    select * from table_1

 使用Exists判断是否有数据速度最快,效率最高,其他的使用Count()方式,都要遍历table_2表,而Exists判断方式只要扫描到一行即会认为表达式为真

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jsczwangx
2014-04-09 · TA获得超过1222个赞
知道小有建树答主
回答量:777
采纳率:100%
帮助的人:622万
展开全部

给出两种方式供参考

M1:
select * from table_1 
union
select * from table_1 where number in(seelct number from table_2)
M2:
declare
 v_num number;
 v_sql varchar2(1000);
begin
 select count(*) into v_num from table_2;
 if v_num>0 then
    v_sql=select * from table_1 where  number in(select number from table_2);
 else
    v_sql=select * from table_1;
exception
 when no_data_found then
   ......
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
发生等将发生
2014-04-09 · TA获得超过478个赞
知道小有建树答主
回答量:653
采纳率:75%
帮助的人:323万
展开全部
declare @no int
select @no = count(1) from table_2

if @no = 0
select * from table_1
else
select * from table_1 where number in(select number from table_2).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式