MySQL联合查询实现方法详解
联合查询简单说 就是将两次查询合并在一起
例如 我们这里有一个用户表

我们先编写一段SQL
select name from staff where age > 21;
查询年龄大于21的 输出结果如下

然后我们再写一段sql
select name from staff where status =1;
查询 status 状态字段等于1 的 输出效果如下

然后我们可以二合一一下
select name from staff where age > 21 union all select name from staff where status =1;
输出结果如下

这是 我们两段sql就二合一了
但我发现 因为张三两个条件都达到了 所以他被查询出了两次
如果想去重 我们只需要将 all去掉
参考代码如下
select name from staff where age > 21 union select name from staff where status =1;
查询结果如下

这样就完成去重了
但现在 我们上下 字段列表查的都是 name
如果我们将代码改成这样
select * from staff where age > 21 union select name from staff where status =1;
一个就查name 一个查全部 *
但这样就报错了

我们将两个都改成 *
select * from staff where age > 21 union select * from staff where status =1;

这样就可以查到了
说明 联合查询 多次查询的字段列表必须是一样的
到此这篇关于MySQL联合查询实现方法详解的文章就介绍到这了,更多相关MySQL联合查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
批量清除128组节点db上面过期的binlog释放磁盘空间实现思路
在 一台db跳转机上面, 写一个脚本,访问slave,远程获取正在复制的master上面的binlog位置, 然后再远程去purge master上面的binlog2013-06-06
MySQL 8.0.13设置日期为0000-00-00 00:00:00时出现的问题解决
这篇文章主要介绍了MySQL 8.0.13设置日期为0000-00-00 00:00:00时出现的问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-01-01
解析数据库分页的两种方法对比(row_number()over()和top的对比)
本篇文章是对数据库分页的两种方法对比(row_number()over()和top的对比)进行了详细的分析介绍,需要的朋友参考下2013-07-07
关于Win10下MySQL5.7.17免安装版基本配置教程(图文详解)
这数据库应用是一个应用系统不可或缺的部分,关系型数据库应用大同小异,这里选择MySQL作为数据库平台。下面通过本文给大家介绍关于Win10下MySQL5.7.17免安装版基本配置教程(图文详解),需要的朋友可以参考下2017-06-06


最新评论