首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql 2表差

mysql 2表差
EN

Stack Overflow用户
提问于 2022-03-12 11:14:06
回答 1查看 38关注 0票数 -3

我在mysql 8(最后一个版本)中有两个表OpenOrder和OpenOrderTemp,这两个表都有一些列id、orderid等等。(是相同的结构)我在OpenOrderTemp中插入了一些数据,我只想通过orderid与第一个表OpenOrder进行比较,我创建了这个SQL语法。

代码语言:javascript
复制
SELECT orderid FROM OpenOrder MINUS SELECT orderid FROM OpenOrderTemp;

但是坦率地返回给我这个错误

错误SQL 1064:您的SQL语法出现错误;请检查与MySQL服务器版本对应的手册,以获得在第1行使用“SELECT orderid FROM OpenOrderTemp”附近的正确语法。

在这种情况下,我问哪一个sql字符串具有最佳的比较两个表的速度性能?,我知道联接不是一个好的选择,再次感谢。

EN

回答 1

Stack Overflow用户

发布于 2022-03-12 11:37:17

并非所有SQL数据库都支持减号运算符。它可以用于数据库,如甲骨文

对于数据库(如SQL ServerPostgreSQLSQLite ),使用EXCEPT操作符执行这种类型的查询。

因为您使用的是MySQL,所以您必须这样做:

代码语言:javascript
复制
SELECT OpenOrder.orderid 
FROM OpenOrder 
LEFT JOIN OpenOrderTemp ON OpenOrder.orderid = OpenOrderTemp.orderid
WHERE OpenOrderTemp.orderid IS NULL;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71449221

复制
相关文章

相似问题

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