连接查询,是将两个查询(或表)的每一行,以“两两横向对接”的方式,所得到的所有行的结果。
即一个表中的某行,跟另一个表中的某行,进行“横向对接”,而得到一个新行。
如下图所示:
![](https://img.kancloud.cn/3c/52/3c5241cc9f296e7f1e4b6b5331ab82c0_593x196.jpg)
则他们对接(连接)之后的结果类似这样:
![](https://img.kancloud.cn/62/11/6211ebc58997056953589fec66196e51_588x239.jpg)
可见,假设:
表1有n1行,m1列;
表2有n2行,m2列;
则表1和表2“连接”之后,就会有:
n1*n2行;
m1+m2列。
连接查询基本形式如下:
```
select ... from 表1 [连接方式] join 表2 [on连接条件] where ... ;
```
可见,连接查询只是作为from子句的“数据源”。
或者说,连接查询是扩大了数据源,从原来的一个表作为数据源,扩大为多个表作为数据源。
连接查询包括以下这些不同形式:
交叉连接,内连接,外连接(分:左外连接,右外连接)。
- 1、数据库介绍
- 1.1.主流数据库
- 1.2.MySQL数据库概览
- 1.3.关系数据库
- 2、访问mysql数据库服务器
- 2.1.开启/关闭数据库服务
- 2.2.客户端连接数据库服务器
- 3、数据库操作
- 3.1.查看所有数据库
- 3.2.创建新数据库
- 3.3.查看数据库创建信息
- 3.4.删除现有数据库
- 3.5.修改现有数据库
- 3.6.选择(使用)某个数据库
- 4、数据表操作
- 4.1.创建数据表初步
- 4.2.查看所有数据表
- 4.3.查看数据表结构
- 4.4.查看数据表的创建语句
- 4.5.删除数据表
- 4.6.修改数据表
- 5、数据操作初步
- 5.1.插入数据
- 5.2.查询数据
- 5.3.删除数据
- 5.4.修改数据
- 6、MySQL数据类型
- 6.1.数据类型(列类型)总览
- 6.2.整型
- 6.3.小数型
- 6.4.日期时间型
- 6.5.字符串型
- 7、列属性
- 8、实体与实体的关系
- 8.1.基本概念
- 8.2.一对一关系
- 8.3.一对多关系
- 8.4.多对多关系
- 9、高级查询
- 9.1.高级查询语法概述
- 9.2.查询结果数据及select选项
- 9.3.where子句
- 9.4.mysql运算符
- 9.5.group by子句
- 9.6.having子句
- 9.7.order by子句
- 9.8.limit 子句
- 10、高级插入
- 10.1.同时插入多行记录
- 10.2.插入查询的结果数据
- 10.3.set语法插入数据
- 10.4.蠕虫复制
- 10.5.插入时主键冲突的解决办法
- 11、高级删除
- 11.1.按指定顺序删除指定数量的数据
- 11.2.truncate清空
- 12、高级更新
- 13、联合(union)查询
- 13.1.联合查询概念
- 13.2.联合查询语法
- 14、连接(join)查询
- 14.1.连接查询概述
- 14.2.交叉连接(cross join)
- 14.3.内连接(inner join)
- 14.4.外连接
- 14.5.自连接
- 15、子查询(subquery)
- 15.1.子查询的概念
- 15.2.标量子查询
- 15.3.列子查询
- 15.4.行子查询
- 15.5.表子查询
- 15.6.有关子查询的特定关键字
- 15.7.exists子查询
- 16、数据管理
- 16.1.数据备份
- 16.2.数据还原(数据恢复)
- 17、用户管理:
- 17.1.查看用户
- 17.2.创建用户
- 17.3.删除用户
- 17.4.修改/设置用户密码
- 17.5.授予用户权限
- 17.6.取消用户授权