数据库--多表查询

简介: 数据库--多表查询

1基本连接

2内连接 inner join,inner可省略,与基本连接相似,只是表现不同,实现效果一样。只是等值连接放在on语序块中。

如下图,结果相同

e18f6feaa8232b438ab6fe04d9d633e6.png

3左外连接,第一个表是主表(外连接相对于内连接:左外连接,右外连接,全连接)

内连接自动消除任何不匹配的行,外连接有主从表之分,返回from主表中的所有行和从表中所匹配的行。

左外连接,outer可省略

查询结果返回主表中所有行以及和从表相匹配的行,不匹配的行填null

与内连接不同,限定条件放在on子句和where子句中查询结果不同。

放在0n子句中,返回匹配行和所有主表中的行,空的地方填充null。总之返回主表中所有行。

放在where子句中,先执行上半部分,再执行where.如下图。


4右外连接(right join),第一个表是从表,右边的表是主表。(左右表互换,实现左右连接互相转换)

5全连接(full outer join)注意左右表位置不同显示结果的排序方式不同,先列出左表中信息。

6交叉连接cross join(无where子句,返回两个表的笛卡尔积)

不加条件的交叉连接和基本连接作用相似。(下面两图结果一致)

7自连接(同一个表实现连接)

8联合查询(有无all在于是否显示重复行)注意:两个结果集有相同数目的目标列,且数据内容尽量保持一致。对应列的数据类型要一致。

   

9使用子查询(包含在其他查询的where子句中)


10嵌套子查询

11xml查询

12 for xml子句(raw,auto,explicit,path模式)

13 exists关键字查询(判断子查询是否有结果,true/flase)可以使用再where子句中或数据库编程中。

8af89cb331438bb5a214d2c565e7245c.png

14交查询intersect(两个查询结果集求交)

15差查询intersect(两个查询结果集求交)

相关文章
|
5月前
|
SQL 关系型数据库 MySQL
⑧【MySQL】数据库查询:内连接、外连接、自连接、子查询、多表查询
⑧【MySQL】数据库查询:内连接、外连接、自连接、子查询、多表查询
93 0
|
2月前
|
关系型数据库 MySQL 数据库
【MySQL 数据库】3、多表查询
【MySQL 数据库】3、多表查询
35 0
|
5月前
|
关系型数据库 数据库 索引
​数据库查询进阶--多表查询
​数据库查询进阶--多表查询
|
10月前
|
SQL 关系型数据库 MySQL
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧(三)
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧(三)
63 0
|
10月前
|
关系型数据库 MySQL 数据库
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧(二)
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧(二)
52 0
|
10月前
|
SQL Oracle 关系型数据库
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧(一)
MySQL数据库,从入门到精通:第六篇——全面掌握MySQL多表查询技巧(一)
62 0
|
11月前
|
数据库
数据库中的多表查询
数据库中的多表查询
|
11月前
|
SQL 数据可视化 关系型数据库
【MySQL数据库笔记 - 基础篇】(五)多表查询
【MySQL数据库笔记 - 基础篇】(五)多表查询
52 0
|
SQL 数据库
数据库-MySQL-多表查询(总结)
目录 前言 多表查询概述 多表查询分类 1、连接查询 2、子查询 内连接 内连接查询语法 案例演示 外连接 外连接查询的语法 案例演示 联合查询-union,union all 子查询 概念 分类 标量子查询 自连接 自连接查询语法 案例演示 子查询 列子查询 行子查询 表子查询
320 0
数据库-MySQL-多表查询(总结)
|
11月前
|
SQL Oracle 关系型数据库
[SQL Server]数据库入门之多表查询
[SQL Server]数据库入门之多表查询
164 0