2021-07-02

连接查询

笛卡尔现象:表1有m行,表2有n行,共有m*n行
分类:按年代分类;
Sql192标准:仅支持内连接
Sql199标准:支持累内连接+外连接(左外+右外)+交叉连接
按功能分类:
内连接:等值连接;非等值连接;自连接
外连接:左外连接,右外连接,全外连接
交叉连接

1.等值连接(连接结果为多表的交集部分
1.表名太长可以为其区别名:提高语句的简洁度,区分多个重名字段【如果weibiao起了别名,则查询字段就不能用原来的表名去限定】
2.两个表的书顺序可以调换
3.可以加筛选
4.可以加筛选
5.可以加分组
6.可以加排序
7.可以 实现三表连接)
2.非等值连接
在这里插入图片描述
3.自连接
在这里插入图片描述

二.sql99语法

语法:
select 查询列表
from 表1 别名
【连接类型】join 表2 别名
on 连接条件
【where 筛选条件】
【group by 分组】
【hauing 筛选条件】
【order by 排序列表】

分类:
内连接:inner
外连接:
左外:lef【outer】
右外:right【outer】
全外: full【outer】
交叉连接:cross

一.内连接:
1.等值连接
特点:
①添加排序,分组,筛选
②inner 可以省略
③筛选条件放在where后面,连接条件放在on 后面,提高分离性,便于阅读
④inner join 连接与sql192等值连接效果是一样的,都是查询多张表的交集
例题:
2.非等值连接
例题:
3.自连接
例题:
二.外连接
应用场景:用于查询一个表中有,另一个表中没有的记录
特点:
1.外连接的查询结果为主表中的所有记录
如果从表中有和他匹配的,则显示匹配的值
如果从表中没有和它匹配的,则显示null
外连接查询结果=内连接结果+主表中有而从表中没有的记录
2.左外 left join 左边是主表
右外 left join 右边是主表
3.全外连接=内连接的结果+表1有但表2没有+表2有但表1没有的
例题:
三.交叉连接相当于笛卡尔乘机

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值