一、概述在实际开发中,大部分情况下都不是在单表中进行数据操作,一般都是多张表进行联合查询 。通常一个业务就会对应的有好几张表 。MySql中的连接查询分为交叉连接 , 内连接,外连接三部分 。其中交叉连接也叫笛卡尔积 , 也是内连接的一种 。
二、连接查询常用方法准备数据表:员工信息表(emp) 以及部门信息表(demp)
文章插图
文章插图
1、交叉连接:也叫笛卡尔积 。特点:不使用任何选择条件 , 直接把表1中的每个行与表2中的每个行进行一一匹配 。因此该方式会产生很多重复数据 , 用的比较少 。下面我们根据具体例子来进行详细解读 。
案例:查询员工以及部门信息
select * from emp,demp;
文章插图
我们可以看到 , 由于没有限定条件,该结果就是两张表记录条数的乘积 , 这就是笛卡尔积现象 。
2、内连接:顾名思义,就是指两张表中有交集的部分是需要的查询数据 。
文章插图
内连接又细化分为等值连接、非等值连接以及自连接 。
2.1 等值连接等值连接的最大特点就是:条件是等量关系的
等值连接的语法格式:select 字段名 from 表1 inner join 表2 on 消除笛卡尔积的连接条件A=B;
案例:根据部门id查询员工所对应的部门名称
select name,dname from demp inner join emp where demp.dpmp = emp.dpmp;
文章插图
2.2 非等值连接顾名思义 , 非等值连接的最大特点就是:条件不是等量关系的
非等值连接的语法格式:select 字段名 from 表1 inner join 表2 on 消除笛卡尔积的连接条件;
案例:查询部门编号在10-20之间的员工信息以及对用的部门信息
select * from emp inner join demp where emp.dpmp=demp.dpmp and demp.dpmp between 10 and 20;
推荐阅读
- 一加9r参数配置_一加9r参数详情
- 小米怎么看卫视直播(小米怎么调出电视模式)
- P3834 【模板】可持久化线段树 2
- 王者荣耀10月27日微信每日一题答案是什么
- airpods3支持无线充电吗_airpods3支持快充吗
- mc力量附魔书怎么用(mc怎么用附魔书给武器附魔)
- 【Java】 DirectByteBuffer堆外内存回收
- 无悔华夏10.27鬼谷子加强效果怎么样
- 王者荣耀五谷满仓活动怎么玩
- 怎么删除微信好友(一键恢复已删除好友)