数据库--多表查询

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

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(两个查询结果集求交)

相关文章
|
8月前
|
SQL 存储 关系型数据库
轻松入门MySQL:数据库关联与多表查询,构建高效的业务决策引擎(6)
轻松入门MySQL:数据库关联与多表查询,构建高效的业务决策引擎(6)
188 0
|
8月前
|
SQL 关系型数据库 MySQL
⑧【MySQL】数据库查询:内连接、外连接、自连接、子查询、多表查询
⑧【MySQL】数据库查询:内连接、外连接、自连接、子查询、多表查询
303 0
|
7月前
|
关系型数据库 MySQL 数据库
关系型数据库MySQL开发要点之多表查询2024详解
关系型数据库MySQL开发要点之多表查询2024详解
42 2
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据库开发之多表查询数据准备及案例实操
MySQL数据库开发之多表查询数据准备及案例实操
54 1
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据库基础第四篇(多表查询与事务)
MySQL数据库基础第四篇(多表查询与事务)
|
7月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
51 5
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据库——多表查询(4)-实例练习、多表查询总结
MySQL数据库——多表查询(4)-实例练习、多表查询总结
240 1
|
7月前
|
SQL 关系型数据库 MySQL
MySQL数据库——多表查询(3)-自连接、联合查询、子查询
MySQL数据库——多表查询(3)-自连接、联合查询、子查询
407 1
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据库——多表查询(2)-内连接、外连接
MySQL数据库——多表查询(2)-内连接、外连接
57 1
|
7月前
|
SQL 数据库 数据库管理
逆向学习数据库篇:多表查询技术详解
逆向学习数据库篇:多表查询技术详解
62 0