MySQL 基础之六:连接查询
主要内容:
本篇的主要内容为连接查询,什么是连接查询,连接查询分类,如何写连接查询语句以及一些知识点。
什么是连接查询:
连接查询顾名思义就是两个表或者两个以上一起查询。比如一张表中有学生的学号、姓名。另一张表中有学号、科目、分数。如果想要查询学号、姓名、科目和对应的分数怎么办?那就要同时用到两张表,把两张表进行连接查询就可以了。现在了解了连接查询的意义所在了吧。
连接查询分类:
根据语法出现的年代来划分:
SQL92
SQL99(较新)
根据表的连接方式来划分:
内连接
等值连接
非等值连接
自连接
外连接
左外连接(左连接)
右外连接(右连接)
全连接(很少出现)
笛卡尔乘积现象:
在进行连接查询时,会出现笛卡尔乘积现象。听着高大上,实际上就是在连接查询时,A 表中的每一条记录都会和 B 表中的每一条记录进行组合,返回给我们。下面举个例子感受下:
从上面的结果看,第一张 emp 表中有 14 条记录,第二张表 dept 中有 4 条记录。那我们现在进行连接查询,看下结果:
出现了 56 条记录,14*4=56。这就是笛卡尔乘积现象。
那如何避免笛卡尔乘积现象呢?
当然是加连接条件进行过滤了。
。
答案:不会增加了,底层该咋匹配还是咋整,但是返回的是有效记录,没用的就不会显示出来了。
表的别名:
现在说一说表的别名。实际上就是给表起个小名。原来表的名字叫 emp,那我们现在叫 e。就是这样简单。那 sql 语句如何写呢?
复制代码
小贴士:as 关键字可以省略。
给表起个别名,第一可以提高执行效率,第二就是可读性高。
版权声明: 本文为 InfoQ 作者【打工人!】的原创文章。
原文链接:【http://xie.infoq.cn/article/aed288223eaa9ca61cf8710ab】。文章转载请联系作者。
评论