连接查询
连接查询:将多张表连到一起进行查询(会导致记录数行和字段数列发生改变)
连接查询的意义
在关系型数据库设计过程中,实体(表)与实体之间是存在很多联系的。在关系型数据库表的设计过程中,遵循着关系来设计:一对一,一对多和多对多,通常在实际操作的过程中,需要利用这层关系来保证数据的完整性。
连接查询分类:
连接查询一共有以下几类:
交叉连接
内连接
外连接:左外连接(左连接)和右外连接(右连接)
自然连接
交叉连接
交叉连接:将两张表的数据与另外一张表彼此交叉
原理:
1、从第一张表依次取出每一条记录
2、取出每一条记录之后,与另外一张表的全部记录挨个匹配
3、没有任何匹配条件,所有的结果都会进行保留
4、记录数 = 第一张表记录数 * 第二张表记录数;字段数 = 第一张表字段数 + 第二张表字段数(笛卡尔积)
基本语法:
select <字段名> from <表1> cross join <表2> [where子句]
或
select <字段名> from <表1>,<表2> [where子句]
mysql> select * from student;
+----+------+
| id | name |
+----+------+
| 1 | 小明 |
| 2 | 小可 |
| 3 | 小艾 |
| 4 | 小新 |
+----+------+
4 rows