## 内连接
内连接:inner join,从一张表中取出所有的记录去另外一张表中匹配:利用匹配条件进行匹配,成功了则保留,失败了放弃.
#### 原理
1. 从第一张表中取出一条记录,然后去另外一张表中进行匹配.
2. 利用匹配条件进行匹配.
3. 匹配到:保留,继续向下匹配.
4. 匹配失败:向下继续,如果全表匹配失败,结束.
语法 :
~~~
表1 [inner] join 表2;
~~~
如果内连接没有条件(允许),那么其实就是交叉连接(避免).
~~~
select * from 表1 as 别名1 inner join 表2 as 别名2 on 别名1.class_id = 别名2.id;
~~~
#### 注意
1. 因为表的设计通常容易产生同名字段,尤其是ID,所以为了避免重名出现错误,通常使用表名.字段名,来确保唯一性.
2. 通常,如果条件中使用到对应的表名,而表名通常比较长,所以可以通过表别名来简化.
3. 内连接匹配的时候,必须保证匹配到才会保存.
4. 内连接因为不强制必须使用匹配条件(on)因此可以在数据匹配完成之后,使用where条件来限制,效果与on一样(建议使用on).
#### 应用
内连接通常是在对数据有精确要求的地方使用:必须保证两种表中都能进行数据匹配.
- 数据库介绍
- 数据库基本概念
- SQL介绍
- MySQL服务端架构
- 库操作
- 表操作
- 字段类型
- 整数类型
- 小数类型
- 字符串类型
- 日期/时间类型
- json类型
- 字段属性
- Null
- 默认值
- 列描述
- 主键
- 自动增长
- 唯一键
- 数据库基础操作
- 增
- 删
- 改
- 查
- 运算符
- 算术运算符
- 比较运算符
- 逻辑运算符
- in运算符
- is运算符
- like运算符
- 高级查询
- 联合查询
- 连接查询
- 交叉连接
- 内连接
- 外连接
- Using关键字
- 子查询
- 标量子查询
- 列子查询
- 行子查询
- 表子查询
- exists子查询
- 子查询特定关键字
- 用户权限管理
- 用户管理
- 权限管理
- 外键
- 外键操作
- 外键基本要求
- 约束
- 视图
- 事务安全
- 自动事务
- 手动事务
- 事务特点
- 变量
- 系统变量
- 会话变量
- 局部变量
- 流程结构
- if分支
- while循环
- 函数
- 内置函数
- 字符串函数
- 时间函数
- 数学函数
- 其他函数
- 存储过程
- 与函数的区别
- 存储过程操作
- 存储过程的形参类型
- 触发器
- 触发器概念
- 触发器操作