Sql Select Unique和Select Distinct之间的差异
我认为这些是一致的,但我用Microsoft SQL编写了以下内容:Sql Select Unique和Select Distinct之间的差异,sql,sql-server,Sql,Sql Server,我认为这些是一致的,但我用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 修好了。有人能解释一下吗?Unique是Crea
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
修好了。有人能解释一下吗?Unique是Create Table()指令中使用的一个关键字,表示字段将包含唯一的数据,通常用于自然键、外键等 例如:
Create Table Employee(
Emp_PKey Int Identity(1, 1) Constraint PK_Employee_Emp_PKey Primary Key,
Emp_SSN Numeric Not Null Unique,
Emp_FName varchar(16),
Emp_LName varchar(16)
)
i、 e.某人的社会保险号码可能是表中唯一的字段,但不一定是主键
Distinct在Select语句中用于通知查询,当字段包含可能不唯一的数据时,您只希望返回唯一的项
Select Distinct Emp_LName
From Employee
您可能有许多员工的姓氏相同,但您只希望每个员工的姓氏不同
显然,如果您查询的字段包含唯一的数据,那么Distinct关键字将变得多余。select unique对于您尝试执行的操作来说是无效的语法 您要使用“选择不同”或“选择不同”命令 事实上,你甚至不需要在你想做的事情上有明显的区别。您可以通过选择适当的union语句参数来消除重复项 下面的查询本身只提供不同的值
select col from table1
union
select col from table2
如果你真的想要复制品,你必须这样做
select col from table1
union all
select col from table2
selectunique
是Oracle风格的SQL支持的旧语法。它与SELECT DISTINCT
同义
使用SELECT DISTINCT
,因为这是标准SQL,而SELECT UNIQUE
是非标准的,并且在Oracle以外的数据库品牌中,SELECT UNIQUE
可能根本无法识别
选择DISTINCT
和选择UNIQUE
的行为方式相同。虽然DISTINCT是ANSI SQL标准,但UNIQUE是Oracle特定的语句
在其他数据库中(如您的sql server)=>
SELECT UNIQUE
的语法无效UNIQUE
是用于在列上添加唯一约束的关键字
您可能希望社会保险号码是唯一的,但事实并非如此。如果我没有错的话,Oracle允许你说
选择唯一的…
,尽管我更喜欢用标准的方式。