我认为它们是同义词,但我在 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 是 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) )
例如,某人的社会安全号码可能是表中唯一的字段,但不一定是主键。
Select 语句中使用 distent 通知查询,当字段包含可能不唯一的数据时,您只希望返回唯一的项。
Select Distinct Emp_LName From Employee
您可能有许多员工使用相同的姓氏,但是您只希望每个员工使用不同的姓氏。
显然,如果您正在查询的字段包含唯一的数据,那么 很明显关键字就变得多余。
Select only 对于您正在尝试执行的操作来说是无效的语法
您想要使用 select different 或者 select disttrow
实际上,在你尝试做的事情中,你甚至不需要清晰的/明显的界限。可以通过选择适当的联合语句参数来消除重复项。
下面的查询本身只会提供不同的值
select col from table1 union select col from table2
如果你想要复制品,你必须做
select col from table1 union all select col from table2
SELECT UNIQUE是 Oracle 的 SQL 风格所支持的旧语法,它是 SELECT DISTINCT的同义词。
SELECT UNIQUE
SELECT DISTINCT
使用 SELECT DISTINCT是因为这是标准的 SQL,而 SELECT UNIQUE是非标准的,并且在 Oracle 以外的其他数据库品牌中,SELECT UNIQUE可能根本无法识别。
例如: 从学生中选择 很明显名称;
创建表中人员( Id varchar NOT NULL 独一无二, 名称 varchar (20) ;
SELECT DISTINCT和 SELECT UNIQUE的行为方式相同。虽然 DISTINCT 是 ANSI SQL 标准,UNIQUE 是 Oracle 特定的语句。
SELECT UNIQUE是无效的语法。 UNIQUE是在列上添加唯一约束的关键字。
UNIQUE
选择与众不同