MySql中的minus用法

在DB2和Oracle中,我们经常会用到minus这个函数,但是MySql中是没有minus的,那么要怎么办呢?

下面以一个小栗子来说下:

用例基础

表信息

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t_eg_01        |
| t_eg_02        |
+----------------+
2 rows in set (0.00 sec)mysql> desc t_eg_01;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | varchar(5)   | NO   | PRI | NULL    |       |
| name   | varchar(20)  | YES  |     | NULL    |       |
| remark | varchar(255) | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)mysql> desc t_eg_02;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | varchar(5)   | NO   | PRI | NULL    |       |
| name   | varchar(20)  | YES  |     | NULL    |       |
| remark | varchar(255) | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

数据信息

mysql> select * from t_eg_01 \G
*************************** 1. row ***************************id: 1name: 张三
remark: 特长:音乐
*************************** 2. row ***************************id: 2name: 李四
remark: 爱好:游泳
*************************** 3. row ***************************id: 3name: 王五
remark: 富二代
3 rows in set (0.00 sec)mysql> select * from t_eg_02 \G
*************************** 1. row ***************************id: 1name: 张三
remark: 特长:音乐
*************************** 2. row ***************************id: 3name: 王五
remark: 富二代
*************************** 3. row ***************************id: 5name: 光头
remark: 平民
3 rows in set (0.00 sec)

如果用minus会直接报错

mysql> select * from t_eg_01-> minus-> select * from t_eg_02;
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 'select * from t_eg_02' at line 3

实现方式

通过left join实现minus的效果,如下图所示,应该得到id为2的数据

mysql> select a.* from t_eg_01 a-> left join-> t_eg_02 b-> on a.id=b.id-> where b.id is null;
+----+--------+-----------------+
| id | name   | remark          |
+----+--------+-----------------+
| 2  | 李四    | 爱好:游泳       |
+----+--------+-----------------+
1 row in set (0.00 sec)

just so so ~

MySql中的minus用法相关推荐

  1. mysql中change用法,mysql 中alter的用法以及一些步骤

    mysql 中alter的用法以及一些方法 在用到alter的时间,查到了这个文章,就copy下来了,详细进入下面链接: MySQL之alter语句用法总结 1:删除列 ALTER TABLE [表名 ...

  2. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  3. mysql中去重的用法_mysql中去重 distinct 用法

    在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...

  4. mysql中的comment用法

    mysql中的comment用法 在MySQL数据库中,字段或列的注释是用属性comment来添加. 创建新表的脚本中, 可在字段定义脚本中添加comment属性来添加注释. 示例代码如下: crea ...

  5. MySQL中show命令用法大全

    MySQL中show命令用法大全 官方文档:https://dev.mysql.com/doc/refman/5.6/en/show.html https://dev.mysql.com/doc/re ...

  6. mysql limit 含义_深入分析Mysql中limit的用法

    很久没用mysql的limit,一时大意竟然用错了,自认为(limit 开始,结束),其实错了,正确的应该是(limit 偏移量,条数),为了记住这次错误,转载一篇limit用法详解.推荐给大家,希望 ...

  7. mysql中 where in 用法详解

    https://blog.csdn.net/haibo0668/article/details/52584307 sssss mysql中 where in 用法详解 我是高手高手高高手 2016-0 ...

  8. MySQL中EXISTS的用法

    比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID ...

  9. MySQL中Left Join用法

    MySQL中Left Join用法  例子:  user表:  id name  ---------  1 libk  2 zyfon  3 daodao  user_action表:  user_i ...

  10. MySQL中group_concat函数用法总结

    MySQL中group_concat函数用法总结 一.group_concat函数的功能 将group by产生的同一个分组中的值连接起来,返回一个字符串结果.group_concat函数首先根据gr ...

最新文章

  1. kotlin ++ --_顺便说一句-探索Kotlin代表团
  2. 写在2018-我的技术之路汇总前言
  3. Ember 3.9 发布,3.8 升级为 LTS
  4. POJ3614Sunscreen(优先队列+贪心)
  5. spectral安装
  6. rpm包安装mysql配置文件目录_CentOS6.5系统下RPM包安装MySQL5.6
  7. python中if语句的实例_Python基础入门-IF语句
  8. mstsc.exe的小插件,隐藏客户端计算机名
  9. (五):ionic 命令详解
  10. Linux部署之批量自动安装系统之测试篇
  11. java获取手机屏幕大小_获取手机屏幕大小
  12. kindeditor 编辑器手机访问默认为HTML编辑
  13. 笔记本如何解除锁定计算机,笔记本键盘锁定解锁方法教程
  14. 【已解决】The server cannot or will not process the request due to something that is perceived to be ...
  15. 家庭备忘记事便签软件哪个实用?
  16. 程序员的自我进化:学习之道,如何更有效的学习
  17. 华为设备MPLS LDP配置命令
  18. 血糖仪和糖化血红蛋白分析仪区别?
  19. Quartz系统来源分析-幽默风趣
  20. js或者jQuery模拟点击提交按钮button,触发提交操作

热门文章

  1. python画兔子代码_Python基础练习实例11(兔子问题)
  2. svn问号图标解决方案
  3. Windows server 2016中文语言包安装教程
  4. 淘宝/天猫上传图片到淘宝 API
  5. C语言编程所得税计算,C语言个人所得税计算系统
  6. 好系统帮你恢复win7经典开机画面
  7. 拉姆达表达式启动一个线程
  8. Javascript_备忘录1
  9. Android-AhMyth Rat
  10. D盘需要管理员权限解决办法