TSQL条件选择语句

时间:2018-03-19 14:31:58

标签: sql-server tsql

是否可以编写执行以下操作的SQL查询:

Select * From Table1 

如果有结果,请退回。否则,请使用替代查询并返回结果:

从表2中选择*

我出现了以下内容,但它似乎不起作用:

IF EXISTS(select * From TableA)
begin
 Select * from TableA 
end
else
 Select * from TableB

是否有一种简单优雅的方法来实现这一目标?

2 个答案:

答案 0 :(得分:3)

您可以使用UNION执行NOT EXISTS查询:

SELECT * FROM TABLE1
UNION ALL
SELECT * FROM TABLE2 WHERE NOT EXISTS (SELECT * FROM TABLE1)

*假设列和类型相同

答案 1 :(得分:0)

如果两个表的列数相同且列名相同,则使用Union,如下所示。

Select * from TableA
Union
Select * from TableB

如果他们有不同的列名或不同的列数,那么您可以使用下面的代码。

Select Col_1 as col1, col_2 as col2.... From TableA
Union
Select col_a as Col1, col_b as Col2..... From TableB