2 mySQL(DQL数据查询:from join on)

大白话:目的就是关联多张表,等值方式,等值的主表方式,区间值方式,自连接方式

from join on ⭐️
where
group by
having
select distinct
order by
limit

from 表 join 表 on 连接条件:查询字段来自多个表

定义:多表关联查询

笛卡尔集错误: select 字段1,字段2 from 表1,表2
条件:没用连接条件关联字段
结果集:每个字段1的数据匹配所有的字段2的数据

连接sql92标准sql99标准
内连接等值连接,非等值连接,自连接等值连接,非等值连接,自连接
外连接左外连接,右外连接,全外连接

等值连接:两张表合并后,显示【查询条件】相等的对象
非等值连接:两张表合并后,显示【查询条件】区间的对象
自连接:同一张表想象成两张不同的表,显示【查询条件】相等的对象
左外连接:两张表合并后,以左为主表,将主表全部值查出来,从表没有值显示null
右外连接:两张表合并后,以右为主表,将主表全部值查出来,从表没有值显示null
全外连接:两张表合并后,将两张表全部值查出来,没有值显示null

99sql:外连接就是等值的一种方式

#99sql:连接条件写在on,筛选条件写在where
⭐️内连接:
(2)表的前后顺序没有要求
(2inner 加不加都可以

⭕️等值连接:三表连接时,where不用写三个相等,写两个等于就行,n个表就是n-1个相等
select 字段1,字段2   
from1 inner join2  
on1.链接字段=2.链接字段  //(连接条件)
where                      //筛选条件

⭕️非等值连接:区间连接
表1:学生+学生成绩
表2: 成绩评级+成绩区间(小)+成绩区间(大)
求:表1中的学生成绩评级
select 字段1.学生,表2.评级   
from1 inner join2  
on2.成绩区间(小)b<1.学生成绩 <2.成绩区间(大)
where //筛选条件

⭕️自连接:同一张表想像成两张表
//员工表同样是领导表
select 员工  
from1 inner join1  
on1.员工名ID=1.领导名ID
where    //筛选条件

⭐️外连接:外连接就是等值连接的一种方式(等值+主表+null)
(1outer 加不加都可以

⭕️左外连接:左面为主表
select 查询列表
from 表名1 别名1  left outer join 表名2 别名2
on  连接条件
where 筛选条件

⭕️右外连接:右面为主表
select 查询列表
from 表名1 别名1 right outer join 表名2 别名2
on  连接条件
where 筛选条件

⭕️全外连接:oracle支持,mysql不支持,主表和从表所有内容都查出来, 匹配不上的用null代替
select 查询列表
from 表名1 别名1 full outer join 表名2 别名2
on  连接条件
where 筛选条件

92sql:不常用

#92sql:筛选条件和连接条件都写在where里,用and隔开
内连接:
(1)表的前后顺序没有要求
(2from之间相连用逗号(,)

等值连接:三表连接时,where不用写三个相等,写两个等于就行,n个表就是n-1个相等
select 字段1,字段2   
from1,表2  
where1.链接字段=2.链接字段  //(连接条件)
and                          //筛选条件

非等值连接:区间连接
表1:学生+学生成绩
表2: 成绩评级+成绩区间(小)+成绩区间(大)
求:表1中的学生成绩评级
select 字段1.学生,表2.评级   
from1,表2  
where2.成绩区间(小)b<1.学生成绩 <2.成绩区间(大)

自连接:同一张表想像成两张表
//员工表同样是领导表
select 员工  
from1,表1  
where1.员工名ID=1.领导名ID
and    筛选条件
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值