连接查询
连接查询:将多张表(大于等于 2 张表)按照某个指定的条件进行数据的拼接,其最终结果记录数可能有变化,但字段数一定会增加。
连接查询的意义:在用户查询数据的时候,需要显示的数据来自多张表。
连接查询为join,使用方式为:左表join右表。
- 左表:join左边的表;
- 右表:join右边的表。
连接查询分类:在 SQL 中将连接查询分为四类,分别为内连接、外链接、自然连接和交叉连接。
外连接
外连接:left\right join,以某张表为主表,取出里面的所有记录,然后让主表中的每条记录都与另外一张表进行连接,不管能否匹配成功,其最终结果都会保留,匹配成功,则正确保留;匹配失败,则将另外一张表的字段都置为NULL.
- 基本语法:左表 + left\right + join + 右表 + on + 左表.字段 = 右表.字段;
其中,关键字on表示连接条件,两表中的条件字段有着相同的业务含义。在这里,以主表为依据,外连接分为两种,分别为:
- left join:左外连接(左连接),以左表为主表;
- right join:右外连接(右连接),以右表为主表。
执行如下 SQL 语句,进行测试:
1
2
3 1-- 将表 student 与 class 进行左连接
2select s.*,c.id as c_id,c.grade as c_grade,room f
3