首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用唯一运算符SQL

如何使用唯一运算符SQL
EN

Stack Overflow用户
提问于 2013-10-09 13:32:24
回答 3查看 3.8K关注 0票数 2

以下代码返回错误消息:

代码语言:javascript
复制
Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'UNIQUE'.

代码:

代码语言:javascript
复制
SELECT E.ename, D.dname
FROM Emp E, Dept D
WHERE UNIQUE
    (SELECT W.did
    FROM Works W
    WHERE W.did = D.did)

Employee,Works,Department是一个很好的自我解释的关系。那么在这种情况下如何正确使用UNIQUE运算符呢?

顺便说一句,这是我的教授给我展示的语法,但我搞不懂。我只找到在CREATE TABLE语句中使用UNIQUE的结果。我看到了DISTINCT的用法,但没有看到UNIQUE的用法

模式:

Works = {fk(eid),fk(主要(did))}

Emp ={主要(eid),ename,年龄,薪水}

部门={主要(did),域名,预算,管理员}

EN

回答 3

Stack Overflow用户

发布于 2013-10-09 13:36:19

Oracle SELECT UNIQUE是受风格的支持的旧语法。它与SELECT DISTINCT同义。

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

Duplicate

票数 1
EN

Stack Overflow用户

发布于 2013-10-09 14:21:15

"WHERE UNIQUE“不是我见过的有效sql语法(在过去几年/产品中)

你的教授可能是:

  • a. testing you
  • b.使用“伪代码”
  • c.用逻辑思考,而不是精确的sql
  • ... ...
  • z.错误标注?

这里也没有形成谓词,什么与生成true/false的内容进行比较?

您的教授也会被建议使用ANSI join语法

代码语言:javascript
复制
SELECT E.ename, D.dname
FROM Emp E
INNER JOIN Dept D ON /* what? */
WHERE /* what? could it be EXISTS ?*/
 exists
    (SELECT W.did
    FROM Works W
    WHERE W.did = D.did)
票数 1
EN

Stack Overflow用户

发布于 2014-01-29 05:58:11

在SQL标准中有一个称为UNIQUE的逻辑运算符。如果其输入中的所有元组都是不同的,则它的计算结果为true。

,但据我所知,它没有在任何版本的SQL server中实现。

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

https://stackoverflow.com/questions/19263875

复制
相关文章

相似问题

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