文档章节

数据库 --子查询、联合查询、连接查询、交叉联接

LYQ1990
 LYQ1990
发布于 2017/08/17 15:02
字数 763
阅读 4
收藏 0
点赞 0
评论 0

 

数据库 --子查询、联合查询、连接查询、交叉联接  

一、          子查询

查询中嵌套查询。

SELECT * from (SELECT * from A)

二、          联合查询

将多个结果集合并成一个结果集,前提是列数相同,并且相应的列的类型相同。判断标准以第一个表的结果集为准。

执行结果集的特点:结果集的列名以第一个为准;

如上面的语句的结果集为在第一个表的基础上,插入第二个表的数据。列数和原来一致,只增加行数。

1、union不自动排序,也不消除重复项 

2、union all自动排序、消除重复项

 

三、连接查询

内连接、外连接(左外连接、右外连接、全连接)

 

 

 

1、内联接(INNER JOIN     
内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。 

  

2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。         
1)LEFT  JOIN或LEFT OUTER JOIN    
左向外联接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。    

  
2)RIGHT  JOIN 或 RIGHT  OUTER  JOIN    
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。    


3)FULL  JOIN 或 FULL OUTER JOIN(说明 mysql不支持)
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
四、交叉联接  
交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。  

1、交叉连接(CROSS JOIN)
交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积。
 
 

五、ON后面的条件(ON条件)和WHERE条件的区别:
ON条件:是过滤两个链接表笛卡尔积形成中间表的约束条件。
WHERE条件:在有ON条件的SELECT语句中是过滤中间表的约束条件。在没有ON的单表查询中,是限制物理表或者中间查询结果返回记录的约束。在两表或多表连接中是限制连接形成最终中间表的返回结果的约束。
从这里可以看出,将WHERE条件移入ON后面是不恰当的。推荐的做法是:
ON只进行连接操作,WHERE只过滤中间表的记录。

 

© 著作权归作者所有

共有 人打赏支持
LYQ1990
粉丝 6
博文 230
码字总数 198911
作品 0
东城
SQL 多表联合查询

连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定...

青莲居士
2015/12/09
72
0
SQL 多个表之间联合查询

非常少用join,这次学学,并备忘两篇文章! 转自:http://hcx-2008.javaeye.com/blog/285661 连接查询 通过连接运算符能够实现多个表查询。连接是关系数据库模型的主要特点,也是它差别于其他...

云栖希望。
01/06
0
0
mysql 内链接/外链接/交叉链接

1.内链接(典型的链接运算,使用=或<>之类的比较运算)内链接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索students和coursesb表中的学生标识号相同的所有行。 2.外链接...

hyhlinux
2016/07/06
52
0
MySQL DML操作--------多表联合查询实战

1. 背景 * 多表联合查询是把不同表的记录到一起的一种方式 * 在SQL标准中规划的联合(join)大致分内连接,外连接,全连接。其中外连接又分左外连接,右外连接。 2. 内连接例子 (inner join) [...

asd1123509133
2017/07/01
0
0
MySql5.6性能优化学习笔记

目标  了解什么是优化  掌握优化查询的方法  掌握优化数据库结构的方法  掌握优化MySQL服务器的方法 什么是优化?  合理安排资源、调整系统参数使MySQL运行更快、更节省资源。  ...

知止内明
06/28
0
0
Sql server--数据查询

一 数据查询 1 其基本语法格式为 Select 字段列表 --⽤用于指定输出字段 [ INTO 新表 ] --将检索结果存储到⼀一个新的数据库表中 [FROM 数据源]--⽤用于指定检索的数据来源 [ WHERE 搜索条件...

Ethan-GOGO
2015/08/31
57
0
SQL Join的一些总结

1.1.1 摘要 Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数...

长平狐
2012/06/11
76
0
oracle数据库基础语言

数据定义语言(DDL)【CREATE】创建;【ALTER】修改;【DROP】删除;【TRUNCATE】;数据库操作语言(DML)【INSERT】插入;【UPDATE】更新;【DELETE】删除;数据查询语言(DQL):【SELECT】事...

Romanceling
2016/04/27
53
0
图文并茂详解 SQL JOIN

Join是关系型数据库系统的重要操作之一,一般关系型数据库中包含的常用Join:内联接、外联接和交叉联接等。如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的数据,这...

大数据之路
2013/05/31
0
5
MySQL阶段七——MySQL优化

mysql优化 -一、硬件优化(优化的主要点) 01.CPU----最好是64位的,例:8-16颗CPU 02.内存----例:96G-128G,3-4个实例 03.disk----数量越多越好,性能:ssd(适合高并发业务)>sas(普通上...

花开半夏qb
2017/08/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql导入导出包括函数或者存储过程

mysql导入导出包括函数或者存储过程 2012-11-16 10:12:20 0个评论 收藏 我要投稿 mysql导入导出包括函数或者存储过程 1.mysql导出整个数据库 mysqldump -h hostname -u username -p databas...

rootliu
5分钟前
0
0
Hyperledger Fabric 客户端开发一

前面介绍了hyperledger Fabric 安装, Chaincode的开发和运维, 现在来说说hyperledger fabric的客户端相关的开发。hyperledger 的客户端开发, 实际上指的是Chaincode的客户端开发。 同传统...

十一月不远
8分钟前
0
0
第18章 Linux集群架构

keepalived介绍 在这里使用keepalived来实现高可用集群,因为heartbeat在centos6上有一些问题,影响实验效果 heartbeat 切换的时候,会不是很及时——>比如:主 已经宕机了,但 从 却一直启动...

Linux学习笔记
9分钟前
0
0
awk常用的几条命令组合

前言 最近在生产上查问题,也是练就了一下awk的命令。 生产上的数据安全性要求比较高,一般要拿到测试环境都需要脱敏,但是脱敏的数据会有很多程序上的不适应。 所以有时候查询问题,查询一条...

码代码的小司机
10分钟前
0
0
python 多版本安装及切换

1.安装必要的扩展 # yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-de 2.下载python3.7源码 # wget https://www.python.org/ftp/python......

青-争
10分钟前
0
0
看看8年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构

微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标...

Java大蜗牛
10分钟前
0
0
CDH的坑之Sqoop导出数据到MySQL

CDH的坑之Sqoop导出数据到MySQL 最近使用Sqoop从Hive导出数据到MySQL中,出现了一系列的问题,下面将这个问题记录一下,避免再度踩坑! 导出语句 sqoop export --connect jdbc:mysql://192....

星汉
13分钟前
0
0
PowerDesigner连接MySQL和逆向工程图

最近想梳理公司项目的表间关系,从项目后台管理系统的操作入手,以及代码的hibernate注解入手,都不算特别尽人意,于是最后还是鼓捣了一下PowerDesigner的逆向工程图,这样更直观一些。 想着...

Oo若离oO
14分钟前
0
0
威胁web应用安全的错误

一般绝大部分的web应用攻击都是没特定目标的大范围漏洞扫描,只有少数攻击确实是为入侵特定目标而进行的针对性尝试。这两种攻击都非常频繁,难以准确检测出来,许多网站的web应用防火墙都无法...

上树的熊
17分钟前
2
0
pypy2 install crypto error

install pycryptodome instead pip install pycryptodome

coord
21分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部