使用选择将行添加到查询结果


68

是否可以使用这样的文字扩展查询结果?

select name from users
union
select name from ('JASON');

要么

select age, name from users
union
select age, name from (25,'Betty');

因此它将返回表中的所有名称以及“ JASON”或(25,“ Betty”)。

Answers:


87

您可以这样使用它:

SELECT  age, name
FROM    users
UNION
SELECT  25 AS age, 'Betty' AS name

使用UNION ALL允许重复:如果有一个25岁的贝蒂用户中,第二个查询不会再次与单纯的选择了UNION。


18

在SQL Server中,您会说:

Select name from users
UNION [ALL]
SELECT 'JASON'

在Oracle中,您会说

Select name from user
UNION [ALL]
Select 'JASON' from DUAL

他指定了sql server:“ from dual”仅是oracle
— Joel Coehoorn

SQL Server的所有括号都应该省略吗?
— Yeonho

4
此处所有括号都表明这是一个可选元素。
— Rich.Carpenter 2011年

15

是否可以使用这样的文字扩展查询结果?

是。

Select Name
From Customers
UNION ALL
Select 'Jason'
  • UNION如果结果集中尚未添加Jason,请使用。
  • 使用UNION ALL添加杰森不论是否是已经在结果集。

我正在使用sql server 2005,并像我的第一个示例一样运行一个简单的并集,但出现“语法错误”。明确地像我的例子吗?

您将如何始终将“ Jason”作为返回联合列表中的第一项返回?
— ALvin Das 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.