mysql连接查询

连接查询又叫多表查询

select * from 表1,表2 ;//会有笛卡尔乘积现象 有n*m条

内连接查询

内连接查询: 仅将两个表中满足连接条件的行组合起来作为结果集

关键字:[inner] join … on

语法:
表1 [inner] join 表2 on 表1.字段=表2.字段

语法解释:
从表1中取出每一条记录,去表2中与所有的记录进行匹配,匹配必须是某个条件在表1中与表2中相同,最终才会保留结果,否则不保留。inner 关键字可省略不写;on 表示连接条件:条件字段就是代表相同的业务含义(如下面两张表中的 employee.dept_id 和 department.id),大多数情况下为两张表中的主外键关系。

【连接类型】 join 第二张表 on 连接条件 where 筛选条件

外连接查询 

外连接查询:以某张表为主,取出里面的所有记录,然后每条与另外一张表进行连接,不管能不能匹配上条件,最终都会保留。能匹配,正确保留;不能匹配,其它表的字段都置空(null),称为外连接。
外连接查询分为左外连接查询和右外连接查询;
关键字:left/right [outer] join … on。
语法:
表1 left/right [outer] join 表2 on 表1.字段=表2.字段
语法解释:
左外连接:在内连接的基础上,还包含表1中所有不符合条件的数据行,并在其中的表2列填写 NULL;
右外连接:在内连接的基础上,还包含表2中所有不符合条件的数据行,并在其中的表1列填写 NULL。

联合查询

当查询结果来自于多张表,但多张表之间没有关联,这个时候往往使用联合查询

语法:

select 查询列表 from 表1 where 筛选条件
union
select 查询列表 from 表2 where 筛选条件

特点(要求):
1、多条待联合的查询语句的查询列数必须一致,查询类型、字段意义最好一致
2、union实现去重查询,当我们两个表中都有一个相同的数据时,union就是自动去重,删除一个重复的,但是我们也可以使用union all显示出重复数据实现全部查询union all 实现全部查询,包含重复项

3.union all显示出重复数据实现全部查询union all 实现全部查询,包含重复项

分页查询

select 查询列表 from  【join  type  join  表2 on 连接条件  where  筛选条件  group by 分组字段,having  分组后的筛选  order  by  排序的字段】  limit  offset,size;

offset(第几行-1)*大小

union和union all联合查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

༺ཌༀཉི开心豆༃ༀད༻

你的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值