北京SEO

Mysql子查询和联合(UNION)查询详解

2019/10/10/17:34:58  阅读:2072  来源:谷歌SEO算法  标签: SEO技术

在mysql中UNION查询是可以联合多个表,union只是mysql中联合查询的一个小点了,下面我来给大家介绍各种mysql中联合查询的语句,大家可参考参考.

查询:在select查询中,又嵌套了一个select查询,一个是外层查询,另一个是内层查询.

Where子查询:就是在where查询语句有一个select语句,把内层查询的结果当做外层查询的条件.

From子查询:在from 查询语句中,有一个select语句,把内层查询结果作为一张临时表,供外层再一次查询.

区别:对于不是唯一取值的列,使用where子查可能会出现不正确的结果,如果用from,有分组的情况下,我们要通过排序把需要的记录放在第一的位置上.

Exists,查询有商品的栏目,代码如下:

  1. selectcat_id,cat_namefromcategorywherecat_id
  2. in
  3. (selectdistinctcat_idfromgoods);

我们还可以通过Exists子查询,代码如下:

  1. selectcat_id,cat_namefromcategorywhereexists
  2. (select*fromgoodswheregoods.cat_id=category.cat_id);

执行过程:它和前面我们讲的where、from子查询不同,where和from子查询只执行一次,而exists子查询要查询多次,有多少行记录就执行多少次.

SQL UNION 操作符

UNION 操作符用于合并两个或多个 SELECT 语句的结果集.

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条 SELECT 语句中的列的顺序必须相同.

SQL UNION 语法,代码如下:

  1. SELECTcolumn_name(s)FROMtable_name1
  2. UNION
  3. SELECTcolumn_name(s)FROMtable_name2

注释:默认地,UNION 操作符选取不同的值,即UNION是去了重的,如果允许重复的值,请使用 UNION ALL.

SQL UNION ALL 语法

  1. SELECTcolumn_name(s)FROMtable_name1
  2. UNIONALL--phpfensi.com
  3. SELECTcolumn_name(s)FROMtable_name2

另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名.

UNION 指令的目的是将两个 SQL 语句的结果合并起来,从这个角度来看,UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中撷取资料,union只是将两个结果联结起来一起显示,并不是联结两个表.

广告内容

Mysql子查询和联合(UNION)查询详解 Mysql子查询和联合(UNION)查询详解 Mysql子查询和联合(UNION)查询详解

相关阅读

热门评论

小浪SEO博客 小浪SEO博客

专注SEO优化思维、SEO技术的实战分享类博客~

总篇数183

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法