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


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.