mysql---union的用法
union的作用很简单用来合并两条sql的结果集
语法: SQL1 UNION SQL2
现有一张价格表
要求:求出价格低于2000和价格高于3000的商品,不能用or和not between……and
思路:我们可以先求出低于2000的商品得到结果集1
再求出高于3000的商品得到结果集2
再利用union合并结果集1和结果集2
什么时候才允许使用union?
答:只要两个结果集的列数相同就可以使用,即使字段类型不相同,也可以使用。
第一个结果集有2列,第二个结果集有1列,运行后提示列数不一样的提示。
列数相同,但字段类型不同。如goods_name是字符类型而goods_id是整形,但同样可以union。值得注意的是union后字段的名称以第一条SQL为准
关于union的排序
可见内层排序没有发生作用,那现在试试在外层排序
可见外层排序发生了作用
那是不是内层排序就没有用了呢,其实换个角度想想内层先排序,外层又排序,明显内层排序显得多余,所以MYSQL优化了SQL语句,不让内层排序起作用。要想内层排序起作用,必须要使内层排序的结果能影响最终的结果。如:加上limit
这样内层排序就起作用了
若两次有重复的行出现会怎样?
再创建2个表,
表A
表B
表A和表B中有两条相同的记录‘王五’,‘小高’
现在使用union看一下结果
可以看到‘王五’和‘小高’只有一条记录,所以另一条记录被覆盖了,要想不被覆盖可以使用union all
如图所示,‘王五’和‘小高’没有被覆盖
mysql---union的用法的更多相关文章
- MySQL UNION 与 UNION ALL 语法与用法
MySQL UNION 语法 MySQL UNION 用于把来自多个 SELECT 语句的结果组合到一个结果集合中.语法为: SELECT column,... FROM table1 UNION [ ...
- MySQL全连接(Full Join)实现,union和union all用法
MySQL本身不支持你所说的full join(全连接),但可以通过union来实现 ,下面是一个简单测试,可以看看: mysql> CREATE TABLE a(id int,name cha ...
- mysql union 与 union all 语法及用法
1.mysql union 语法 mysql union 用于把来自多个select 语句的结果组合到一个结果集合中.语法为: select column,......from tabl ...
- mysql union用法代码示例
MYSQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时 ...
- union的用法
union的用法 union用来连接两个查询语句,把两个查询语句的查询结果合并起来,两个查询语句的查询字段个数必须一样,否则会出错,查询的字段可以不一样,类型也可以不一样,但是这样查询的意义不大,如果 ...
- mysql子查询用法
mysql子查询用法 1 可以当值来用<pre>select id from hcyuyin_share where id=(select id from hcyuyin_share li ...
- mysql的DATE_FORMAT用法
DATE_FORMAT(date,format) date 参数是合法的日期.format 规定日期/时间的输出格式. mysql的DATE_FORMAT用法 %a 缩写星期名 %b 缩写月名 %c ...
- mysql group by 用法解析(详细)
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...
- (转载)mysql group by 用法解析(详细)
(转载)http://blog.tianya.cn/blogger/post_read.asp?BlogID=4221189&PostID=47881614 mysql distinct 去重 ...
- (转载)mysql中limit用法
(转载)http://hi.baidu.com/sppeivan/item/e45179375d6778c62f8ec221 mysql中limit用法 使用查询语句的时候,经常要返回前几条或者中 ...
随机推荐
- EasyUI基础入门之Easyloader(载入器)
在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了. 什么是EasyLoader 正如其名字一样easyloader的作用是为了动态的载入组件所需的 ...
- android115 自定义控件
布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to ...
- Helpers\Date
Helpers\Date The Date helper is used for calculations with dates. Date::difference($from, $to, $type ...
- Requirements
Requirements The framework requirements are limited. PHP 5.5 or greater. Apache Web Server or equiva ...
- 由strupr,strlwr体会如果将字符常量转换为变量进行修改,体会常量的静态存储
#include <stdio.h> #include <string.h> int main() { char s[]="Copywrite 1999-2000 G ...
- About xvfb
http://blog.csdn.net/span76/article/details/11473315 有时候我们不关注程序是否有界面(比如自动化测试),只要程序在运行就可以了 很感谢 xvfb 这 ...
- Hibernate - 使用注解完成映射
除了使用XML配置来映射对象和数据库表,还可以使用注解来完成持久化.使用注解需要导入Hibernate Annotations扩展包 @Entity -加在类的前面,将类声明为持久化类. -javax ...
- debian 颜色设置
root@debian:/# vi /root/.bashrc #export PS1='\h:\w\$ 'export PS1='\[\033[1;32;40m\]\u@\h:\w\$ \[\033 ...
- Python基础【第十一篇】文件操作(file()、open()方法和fileinput模块)
一.file/open 内置函数 file函数的方法: 注:file 和 open的用法和功能相同这里只对file进行分析 file(‘filename’,’mode’) file(‘filename ...
- 图像处理函数详解——im2bw
im2bw是基于转换为二值图像的算法,用的是otsu's method. matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成 ...