问题标签 [sql-except]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
71562 浏览

sql - 选择 * 除了

是否有任何 RDBMS 实现类似的东西SELECT * EXCEPT?我所追求的是获取除特定 TEXT/BLOB 字段之外的所有字段,我只想选择其他所有字段。

几乎每天我都会向我的同事抱怨有人应该实现这个......它不存在真是太烦人了。

编辑:我理解大家对SELECT *. 我知道与SELECT *. 但是,至少在我的情况下,这不会用于任何生产级代码,甚至是开发级代码;严格用于调试,当我需要轻松查看所有值时。

正如我在一些评论中所说,我工作的地方严格来说是一个命令行商店,通过 ssh 做所有事情。这使得很难使用任何 gui 工具(不允许与数据库的外部连接)等等。

不过感谢您的建议。

0 投票
1 回答
46 浏览

sql - 删除不满足所有要求的项目

我有表“OcjeneKorisnika”,其中包含Korisnik_ID,Artikl_IDOcjena_ID字段。在表中,我输入Korisnik_ID 12了哪些订单文章Arikl_ID 9及其Artikl_ID 13中的一些值Ocjena_ID

下面的查询检索所有Korisnik_ID,除了Artikle_IDOcjena_IDKorisnik_ID 12

例如korisnik_ID11 具有9 和13 的值,但Ocjena_ID1、2 、... 仅具有9 的值,而不具有13 的值(在表中)Artikl_IDArtikl_IDKorisnik_IDKorisnik_IDArtikl_IDArtikl_ID

如何显示所有Korisnik_ID具有(9 和 13)值的所有值并排除Ocjena_ID仅具有一个值(9 或 13)的值?Artikle_IDKorisnik_IDsArtikl_ID

示例源数据:

我需要有输出:

0 投票
2 回答
63891 浏览

sql - Oracle 中的 EXCEPT 关键字

我正在尝试在 Oracle 10.1.0.2.0 中使用 EXCEPT 关键字,但不断收到错误“未知命令”。我试过谷歌搜索,有人说关键字是 MINUS,所以我改用 MINUS,但我仍然遇到同样的错误。任何的想法?谢谢。

所以这是我的查询。我正在查找注册所有课程编号 > 500 的学生的姓名

0 投票
3 回答
59624 浏览

mysql - 在查询中使用 except 时出现语法错误

此查询有效:

此查询也有效:

但是这个查询:

失败并出现错误:

我在这里做错了什么?

0 投票
4 回答
3763 浏览

sql - SQL Server 2008 除了语句

这是我的示例脚本:

我成功地从左表返回了右表中不存在的唯一记录。两个表具有相同的架构和大部分相同的数据。问题是唯一id(我们称之为c1列)不匹配,所以我需要在上面的EXCEPT查询中排除它。如何返回相同的记录集,但包含唯一 ID?

我正在考虑在游标内使用临时表、游标和长 WHERE 语句,但这似乎不是一个非常优雅的解决方案。还有其他方法可以完成这个看似简单的任务吗?

0 投票
1 回答
793 浏览

sql - 仅通过主键使用 SQL EXCEPT

我的数据库中有 2 个表(A 和 B),我需要将两者合并。这两个表都具有复合键(九列)作为主键,并且表之间存在重复的行。

我可以使用“EXCEPT”来获取 SELECT A 的结果中存在的行,而不是 SELECT B 的结果中的行,但我还需要检索其他一起不重复行的列。IE

其中ckA1 = ckB1, ckA2 = ckB2, ... ckA9 = ckB9,但columnA1不一定等于columnB1,columnA2不一定等于columnB2,等等。

有没有办法解决这个问题?

0 投票
2 回答
2220 浏览

sql - SQL Multiple Minus vs Multiple Join 性能

我希望有人可以解释加入多个表与使用 MINUS 消除记录的性能。我查看了其他一些堆栈溢出问题,但没有看到我在寻找什么。

我认为这两个查询会产生相同的输出,而且我一直听到“使用连接,使用连接!”,特别是从 stackoverflow 帖子中,他们预计会更快......

这是我运行的第一个查询,我认为它会慢得多,但运行只需几分钟...

这是我认为会更快的第二个查询,但它现在已经运行了 3 个多小时(看不到尽头?)

我应该注意所有 3 个表都有 > 100 万条记录,每个记录多达 1500 万条。

编辑

抱歉 - 我的意思是让你知道我避免在这个问题中使用 NOT EXISTS 作为回答,因为我真的对这两种情况感到好奇。

0 投票
2 回答
833 浏览

sql - 有没有办法在 SQL 中将 EXCEPT 语句重写为 NOT IN 语句?

我已经学习 SQL 几个星期了,刚刚完成了关于使用 IN 和 NOT IN 的家庭作业问题。我设法得到了正确的答案,但是,我使用了 EXCEPT 子句,我们还没有真正允许使用它。据我所知,EXCEPT 和 NOT IN 是 SQL 中非常相似的语句,但我不明白有什么区别。这是我的查询的一般格式:

有没有办法在不使用 EXCEPT 语句的情况下重写这个通用查询?一般而言,EXCEPT 和 NOT IN 有何不同?

编辑:this other post似乎有一些很好的信息,但它似乎专注于EXISTS而不是IN,它们有不同的目的,不是吗?

0 投票
4 回答
89 浏览

sql - 在mysql中过滤一个组

我有以下表格中的示例数据

我希望提取那些 Dsc 既不是“被保险人”也不是“经纪人”的 ID。由于两列都有重复数据,因此我为此设计了以下查询。

有没有其他方法可以做到这一点?

0 投票
1 回答
1352 浏览

sqlite - SQLite:...除了...随机排序()

这个查询:

SELECT colour FROM ColourView EXCEPT SELECT colour FROM SkinColourExceptionsView WHERE race = 'Human' ORDER BY RANDOM() LIMIT 1

产生以下异常:1st ORDER BY term does not match any column in the result set

但是,更改ORDER BY RANDOM()ORDER BY colour能够产生结果(按颜色字母顺序而不是随机排序)。以下建议ORDER BY RANDOM() LIMIT 1应该有效:从 sqlite table 中选择随机行。有人可以解释为什么我的查询不起作用吗?