• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql 组合查询:什么是组合查询?如何创建组合查询

mysql 组合查询:什么是组合查询?如何创建组合查询

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了MySQL,组合查询,创建等相关知识,希望本文的分享对您有所帮助
什么是组合查询

多数SQL查询都只包含从一个或多个表中返回数据的单条 SELECT 语句。MySQL也允许执行多个查询(多条 SELECT 语句),并将结果作为单个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)。

有两种基本情况,其中需要使用组合查询:

1.在单个查询中从不同的表返回类似结构的数据;

2.对单个表执行多个查询,按单个查询返回数据。

组合查询和多个 WHERE 条件 多数情况下,组合相同表的两个查询完成的工作与具有多个 WHERE 子句条件的单条查询完成的工作相同。换句话说,任何具有多个 WHERE 子句的 SELECT 语句都可以作为一个组合查询给出,在以下段落中可以看到这一点。这两种技术在不同的查询中性能也不同。因此,应该试一下这两种技术,以确定对特定的查询哪一种性能更好。

如何创建组合查询

可用 UNION 操作符来组合数条SQL查询。利用 UNION ,可给出多条SELECT 语句,将它们的结果组合成单个结果集。

使用UNION

UNION 的使用很简单。所需做的只是给出每条 SELECT 语句,在各条语句之间放上关键字 UNION。

举一个例子,假如需要价格小于等于 5 的所有物品的一个列表,而且还想包括供应商 1001 和 1002生产的所有物品(不考虑价格)。当然,可以利用 WHERE 子句来完成此工作,不过这次我们将使用 UNION 。

正如所述,创建 UNION 涉及编写多条 SELECT 语句。首先来看单条语句:

输入:

select vend_id,prod_id,prod_price from products where prod_price <= 5;

输出:

QQ截图20170512092240.png

输入:

select vend_id,prod_id,prod_price from products where vend_id in (1001,1002);

输出:

QQ截图20170512092436.png

分析:第一条 SELECT 检索价格不高于 5 的所有物品。第二条 SELECT 使用 IN 找出供应商 1001 和 1002 生产的所有物品。

为了组合这两条语句,按如下进行:

输入:

select vend_id,prod_id,prod_price from products where prod_price <= 5 union select vend_id,prod_id,prod_price from products where vend_id in (1001,1002);

输出:

QQ截图20170512092629.png

分析:这条语句由前面的两条 SELECT 语句组成,语句中用 UNION 关键字分隔。 UNION 指示MySQL执行两条 SELECT 语句,并把输出组合成单个查询结果集。

作为参考,这里给出使用多条 WHERE 子句而不是使用 UNION 的相同查询:

输入:

select vend_id,prod_id,prod_price from products where prod_price <= 5 or vend_id in (1001,1002);

在这个简单的例子中,使用 UNION 可能比使用 WHERE 子句更为复杂。但对于更复杂的过滤条件,或者从多个表(而不是单个表)中检索数据的情形,使用 UNION 可能会使处理更简单。

以上就是mysql 组合查询:什么是组合查询?如何创建组合查询的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05MySQL Slave 触发 oom-killer解决方法_MySQL
  • 2018-12-05最新更新的6篇内容推荐
  • 2018-12-05Mysql怎么优化修复数据库表
  • 2018-12-05解析MySQL数据库中外键约束
  • 2017-05-11如何捕获和记录SQL Server中发生的死锁
  • 2018-12-05 SQL Server存储过程的编写和优化措施
  • 2017-05-11分享CentOS下MySQL最新版本5.6.13源码安装过程
  • 2018-12-05将mater库中的系统存储过程批量生成*.sql文件 通用且非常实用
  • 2018-12-05以多种方式调用构造方法创建PDO对象
  • 2017-05-11MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MyEclipse通过JDBC连接MySQL数据库基本介绍
    • MySQL 通用查询日志(General Query Log)
    • MySQL中关于浮点型转换成字符型出现的一些问题解决
    • 有关移工具的文章推荐10篇
    • hibernate如何连接mysql数据库?
    • 通过SQLServer 2008 操作 MySQL的方法
    • PostgreSQL源码分析: 动态Hash
    • 关于列变行的10篇文章推荐
    • SQL SERVER 查询正在实行的SQL语句
    • mysql 截取指定的两个字符串之间的内容

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有