首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >选择唯一和选择不同之处的区别

选择唯一和选择不同之处的区别
EN

Stack Overflow用户
提问于 2008-12-03 05:05:37
回答 3查看 341.2K关注 0票数 153

我认为这些是同义词,但我用Microsoft SQL编写了以下代码:

Select Unique col from 
     (select col from table1 union select col from table2) alias

但它失败了。将其更改为

Select Distinct col from 
     (select col from table1 union select col from table2) alias

修好了。有人能解释一下吗?

EN

回答 3

Stack Overflow用户

发布于 2008-12-03 08:00:25

SELECT UNIQUE是Oracle支持的旧语法。它是SELECT DISTINCT的同义词。

使用SELECT DISTINCT是因为这是标准的SQL,而SELECT UNIQUE是非标准的,并且在除Oracle之外的其他数据库品牌中,SELECT UNIQUE可能根本无法识别。

票数 177
EN

Stack Overflow用户

发布于 2008-12-03 05:14:35

select unique对于您尝试执行的操作无效

您希望使用select distinct或select distinct

实际上,你甚至不需要distinct/distinctrow来做你想要做的事情。您可以通过选择适当的union语句参数来消除重复项。

下面的查询本身只会提供不同的值

select col from table1 
union 
select col from table2

如果您确实想要副本,则必须这样做

select col from table1 
union all
select col from table2
票数 18
EN

Stack Overflow用户

发布于 2017-09-15 15:35:53

仅在Oracle =>中

SELECT DISTINCTSELECT UNIQUE的行为方式相同。虽然DISTINCT是ANSI SQL标准,但UNIQUE是Oracle特定的语句。

在其他数据库(如本例中的sql-server )中,=>

SELECT UNIQUE是无效语法。UNIQUE是用于在列上添加唯一约束的关键字。

SELECT DISTINCT

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/336268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档