mysql---union的使用方法
union的作用非常easy用来合并两条sql的结果集
语法: SQL1 UNION SQL2
现有一张价格表
要求:求出价格低于2000和价格高于3000的商品。不能用or和not between……and
思路:我们能够先求出低于2000的商品得到结果集1
再求出高于3000的商品得到结果集2
再利用union合并结果集1和结果集2
什么时候才同意使用union?
答:仅仅要两个结果集的列数同样就能够使用,即使字段类型不同样,也能够使用。
第一个结果集有2列,第二个结果集有1列。执行后提示列数不一样的提示。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlfbWFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
列数相同,但字段类型不同。如goods_name是字符类型而goods_id是整形,但相同能够union。值得注意的是union后字段的名称以第一条SQL为准
关于union的排序
可见内层排序没有发生作用,那如今试试在外层排序
可见外层排序发生了作用
那是不是内层排序就没实用了呢。事实上换个角度想想内层先排序,外层又排序,明显内层排序显得多余。所以MYSQL优化了SQL语句,不让内层排序起作用。要想内层排序起作用,必需要使内层排序的结果能影响终于的结果。
如:加上limit
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlfbWFv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这样内层排序就起作用了
若两次有反复的行出现会如何?
再创建2个表,
表A
表B
表A和表B中有两条同样的记录‘王五’,‘小高’
如今使用union看一下结果
能够看到‘王五’和‘小高’仅仅有一条记录,所以还有一条记录被覆盖了,要想不被覆盖能够使用union all
如图所看到的,‘王五’和‘小高’没有被覆盖
mysql---union的使用方法的更多相关文章
- MySQL查询关键数据方法
MySQL查询关键数据方法 操作表的SQL语句补充 1.修改表名 alter table 表名 reame 新表名: 2.新增字段名 alter table 表名 add 字段名 字段类型(数字) 约 ...
- mysql主从不一致解决方法
方法一:忽略错误后,继续同步 该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况 stop slave; #表示跳过一步错误,后面的数字可变 set global ...
- MySql数据库乱码解决方法
MySql数据库乱码解决方法 解决乱码问题一个原则:存取系统使用一致的编码规则. 多使用mysql的原生命令行,这样才能做更多的事情. 第一步: 确认应用系统需要使用的编码 java的默认编码是跟 ...
- Mysql导入数据库的方法
mysql导入数据库的方法 | 浏览:41023 | 更新:2012-11-01 19:45 1 2 3 4 5 6 7 分步阅读 MySQL是一个中.小型关系型数据库管理系统,由瑞典MySQL AB ...
- 修改mysql默认字符集的方法
+--------------------------+---------------------------------+ | Variable_name | Value | +---------- ...
- 开启Mysql远程访问的所有方法
开启Mysql远程访问的所有方法 http://superyjcqw.blog.163.com/blog/static/16105830520117111040436/ Mysql默认是不可以通过远程 ...
- phpmyadmin #2003 无法登录 MySQL服务器的解决方法
本文章向大家介绍phpmyadmin #2003 无法登录 MySQL服务器的解决方法,需要的码农可以参考一下. 通过phpmyadmin连接mysql数据库时提示:"2003 无法登录 M ...
- php mysql 中文乱码解决方法
本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...
- 收缩Mysql的ibdata1文件大小方法
ibdata1是mysql数据库中一个数据文件了,你会发现它来越大了,下面我来介绍收缩Mysql的ibdata1文件大小方法 如果你有使用InnoDB来存储你的Mysql表,使用默认设置应该会碰到个非 ...
- MySQL UNION 与 UNION ALL 语法与用法
MySQL UNION 语法 MySQL UNION 用于把来自多个 SELECT 语句的结果组合到一个结果集合中.语法为: SELECT column,... FROM table1 UNION [ ...
随机推荐
- oc消息转发机制本质
第一级转发:主体不变,动态添加对应函数: 第二级转发:函数不变,切换接收主体: 第三极转发:函数签名不变,主体和函数都有可能变化: 1.使用函数的动态添加技术: 2.使用的类似is-a swzzing ...
- ZBrush雕刻生物小技巧
本教程主要学习如何使用ZBrush®3D图形绘制软件的工具和笔刷雕刻酷酷的生物造型,我们今天来看看在游戏.媒体和电视领域有着十几年丰富经验的3D角色艺术家Francis-Xavier Martins是 ...
- 在js中关于同名变量和函数的地位争夺问题
先上一段让大家比较蒙圈的代码,接下来再慢慢讲解 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- css 禁止文本被选中复制代码
css 禁止文本被选中复制代码: .cus-text{ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none ...
- 将对象a的属性赋值给对象b
BeanUtils.copyProperties(a,b); 将a的属性赋值给b(ab的共同属性)
- 前端之JavaScript概述
ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国 ...
- python学习笔记:第四天
day04: 一.计算求值 num += 1 等价于 num = num + 1num -= 1 等价于 num = num - 1num *= 2 等价于 num = num * 2num /= 2 ...
- IDEA设置控制台日志 不换行
最新版的IDEA设置控制台不自动换行位置如下:Setting->Editor->General->Console,不要勾选下图项即可.
- CentOS 7.2 (mini) 里iptables防火墙怎么关闭?
centos从7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的.所以你只要停止firewalld服务即可:sudo ...
- ASP.NET-缓存outputcache参数
给Index加一个60秒的缓存,应该缓存在IIS服务器里面(我猜的) 只对变化的参数page不进行缓存,其他参数返回相同的内容 根据接受的语言的不同不进行缓存 设定缓存的位置 依赖于数据库变化的缓存 ...