内连接、外连接、嵌套查询

连接查询介绍

  • 连接查询也叫多表查询,常用于查询表头来自与多张表
  • 通过不同的连接方式把多张表重新组成一张新的临时表,再对临时表做数据处理

连接查询分类

  • 交叉连接:交叉连接是没有任何连接条件的连接方式,它返回的两个表格的所有可能的组合
  • 自然连接:是一种根据两个表格之间的隐式相等条件(所有同名列必须相等)自动进行内连接的方式。
  • 自连接:自身连接是将同一个表格作为两个不同的表格进行连接的连接方式

内连接:

内连接最常用的一种内连接方式,只有当连接条件成立时,才会返回两个表中的记录。

select * from table1 inner join table2 on 连接条件;

内连接分类:

        等值连接  使用相等判断做连接条件

        非等值连接  不用相等判断条件做连接条件

等值连接

使用相等判断做连接条件

表里必须有存储相同数据的表头 

select 表头名列表 from 表1 as 别名 inner join 表2 as 别名 on 连接条件
[where 筛选条件]|[group by 分组]|[having 分组后筛选]|[order by 排序列表]

非等值连接

不用相等判断条件做连接条件

适合表里没有存储相同数据的表头时使用

select 字段列表
from 表1 表名
inner join 表2 别名 on 连接条件
[where 筛选条件]|[group by 分组]|[having 分组后筛选]|[order by 排序列表]

外连接

  • 外连接介绍:

左外连接 

  • 语法格式      表名   left  join  表名  on  连接条件
select tb1.字段...,tb2.字段
    from table1 as tb1 left join table2 as tb2
on tb1.字段 = tb2.字段;
  • 查询输出结果

        左表表头记录全显示

        右表表头只显示与条件匹配的记录 ,右表比左表少的记录使用null匹配

右外连接

  • 语法格式        表名  right  join  表名  on  连接条件
select tb1.字段...,tb2.字段
    from table1 as tb1 right join table2 as tb2
on tb1.字段 = tb2.字段;
  • 查询输出结果 

        右表表头记录全显示

        左表表头只显示与条件匹配的记录 ,左表比右表少的记录使用null匹配        

全外连接

  • 说明

        也称联合查询,用来合并查询结果

        可以合并统一张表的查询记录(不同表的查询记录也可以合并)

        要求查询时,多个select语句查询表头个数必须一样

        union关键字默认去重,可以使用union all 包含重复项

  • 语法格式

(select 语句) union(select 语句);去重

(select 语句) union  all(select 语句);不去重

 嵌套查询

嵌套查询介绍

        是指在一个完整的查询语句中,包含若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式。

        包含的查询放在()里

包含查询出现的位置

  • where之后

                把查询结果作为查询条件

  • having之后

                把查询结果作为过滤条件

  • from之后

                把查询结果当作表使用

  • select之后

                把查询结果当作表头使用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值