mysql可以用except吗_MYSQL 支持EXCEPT语句吗? 例子里EXCEPT后面的换成NOT IN可以吗? 两个例子错在哪里啊?...
MYSQL 支持EXCEPT语句吗? 例子里EXCEPT后面的换成NOT IN可以吗? 两个例子错在哪里啊?
关注:143 答案:2 mip版
解决时间 2021-01-17 23:20
提问者祇為焄菂兲哋閤
2021-01-17 04:38
mysql> select s.sname
-> from sailors s
-> where s.sid in(select r.sid
-> from reserves r
-> where r.bid in(select b.bid
-> from boats b
-> where b.color='red'))
-> except
-> select s2.sname
-> from sailors s2
-> where s2.sid in(select r2.sid
-> from reserves r2
-> where r2.bid in(select b2.bid
-> from boats b2
-> where b2.color='green'));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'excep
t
select s2.sname
from sailors s2
where s2.sid in(select r2.sid
' at line 8
EXCEPT换成NOT IN
mysql> select s.sname
-> from sailors s
-> where s.sid in(select r.sid
-> from reserves r
-> where r.bid in(select b.bid
-> from boats b
-> where b.color='red'))
-> and not in(select r2.sid
-> from reserves r2
-> where r2.bid in(select b2.bid
-> from boats b2
-> where b2.color='green'));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'in(se
lect r2.sid
from reserves r2
where r2.bid in(' at line 8
最佳答案
二级知识专家云朵有点甜
2021-01-17 05:10
你的代码好长啊, 我就简单解释一下
MySQL 不支持 EXCEPT, 但是可以有替代的办法。
-- 测试表,与测试数据
CREATE TABLE union_tab_1 (
id INT,
val VARCHAr(10)
);
CREATE TABLE union_tab_2 (
id INT,
val VARCHAr(10)
);
INSERT INTO union_tab_1 VALUES(1, 'A');
INSERT INTO union_tab_1 VALUES(2, 'B');
INSERT INTO union_tab_1 VALUES(3, 'C');
INSERT INTO union_tab_2 VALUES(1, 'A');
INSERT INTO union_tab_2 VALUES(1, 'A');
INSERT INTO union_tab_2 VALUES(2, 'B');
INSERT INTO union_tab_2 VALUES(4, 'D');
EXCEPT– 返回第一个表中有、第二个表中没有的数据
SQL Server 是支持的
1> SELECt * FROM union_tab_1
2> EXCEPT
3> SELECt * FROM union_tab_2;
4> go
id val
----------- ----------
3 C
(1 行受影响)
1> SELECt * FROM union_tab_2
2> EXCEPT
3> SELECt * FROM union_tab_1;
4> go
id val
----------- ----------
4 D
(1 行受影响)
MySQL 不支持
实现相同功能的 SQL 如下:
SELECt
DISTINCT union_tab_1.*
FROM
union_tab_1 LEFT JOIN union_tab_2
ON (union_tab_1.id = union_tab_2.id
AND union_tab_1.val = union_tab_2.val)
WHERe
union_tab_2.id IS NULL;
+------+------+
| id | val |
+------+------+
| 3 | C |
+------+------+
1 row in set (0.00 sec)
全部回答
1楼癡情菂尐豬豬
2021-01-17 06:00
应该不能吧。
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看
mysql可以用except吗_MYSQL 支持EXCEPT语句吗? 例子里EXCEPT后面的换成NOT IN可以吗? 两个例子错在哪里啊?...相关推荐
- mysql选择utf 8编码_MySQL支持UTF-8编码全攻略
来源:网海拾贝 最近看到良多若干关于MySql支持utf-8编码的成绩,恰好自身也要用,去找了一下,没有写的很片面的. 清算了一下,供各人参考. 在一下效能器设置测试议决 效能器设置: window2 ...
- mysql返回数据只要年月日_MySQL支持按年月日查询
在业务环境中,总是想要筛选出不同时间条件下的数据,例如我只想查询当天数据,当月数据或者本年数据.于是就想通过MySQL自带的几个时间函数进行简单的实现. 一.SQL语句实现Talk is cheap, ...
- mysql教程or怎么用_MySQL中or语句用法示例
1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...
- mysql 压力测试知乎_MySQL查看SQL语句执行效率和mysql几种性能测试的工具
网络中整理,记录下,朋友们应该用得到! Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮 ...
- mysql 建表语句示例_MySQL Create Table语句和示例
mysql 建表语句示例 In this article, I am going to explain the MySQL CREATE TABLE statement with examples. ...
- mysql数据库 or的用法_MySQL中or语句用法示例
1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...
- mysql去重复查询 性能_MySQL中distinct语句去查询重复记录及相关的性能讨论_MySQL...
在 MySQL 查询中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值,就是去重啦.用法也很简单: SELE ...
- mysql去重复查询 性能_MySQL中distinct语句去查询重复记录及相关的性能讨论
在 MySQL 查询中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值,就是去重啦.用法也很简单: SELE ...
- mysql四个对勾_Mysql like查询语句中,结果包含反斜杠 \ 字符的,需要替换成四个反斜杠 \\\\...
如题,当SQL语句中使用Like查询,且期望匹配的结果中含有"\"的,应当把"\"替换为"\\\\". 比如数据库中text字段有以下三行: ...
- mysql 查询指定字段数据_MySQL使用select语句查询指定表中指定列(字段)的数据
本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...
最新文章
- Pytorch-学习记录 卷积操作——Tensor.size()
- Linux数据写操作改进
- CTFshow 命令执行 web41
- const在c中的用法
- WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题解决方案
- 更改临时文件夹的路径
- iOS中nil,Nil,NULL的区别
- Linux BPF hello world C语言示例代码
- linux抓包库libpcap,linux下libpcap抓包分析.doc
- mangle 打标签冲突
- 微软技术专家谈x86架构的怪异之处
- .NET导入导出Excel
- 7-25 总结 Junit 测试 和断言 /ArrayList 和LinkedList 的区别/HashCode用来存放数据.
- 动手学深度学习day-two
- 应用宝shangjia安全评估报告_《安全评估报告》提交指引
- 一种并行随机梯度下降法
- 安卓+ios系统--手机端页面自适应手机屏幕大小,禁止手动放大和缩小VUE
- bugku ctf 妹子的陌陌 (想要妹子陌陌号吗? 做题来拿吧)
- window子对象的详细介绍 _@jie
- 聊一聊 Web 框架的新趋势