![387ffa473cca89e62b41d280d17aa097.png](https://img-blog.csdnimg.cn/img_convert/387ffa473cca89e62b41d280d17aa097.png)
这一节会介绍表与表之间的运算,包括表的加法,表的联结和非常有用的CASE表达式。
1、表的加法
使用UNION子句对两张表进行合并计算,相当于在一张表里“添加行”。
具体见下图:
![84ba78391af95b6c40de1ce55350db66.png](https://img-blog.csdnimg.cn/img_convert/84ba78391af95b6c40de1ce55350db66.png)
tips:
1)使用UNION合并两张表,重复的行会被删除,如果不想删除,则在UNION之后添加ALL关键字即可。
2)两张表的列数必须一致,对应列的数据类型也必须一致
3)ORDER BY子句只能用在SELECT子句的最后,且只能用一次
2、表的联结
表的联结就是将其他表的列添加过来,即进行“添加列”的计算,使用JION子句(可以理解为“添加,加入”的意思)在遇到“需要计算的数据被存储在不同的表里“这种情况时,使用JOIN子句就能方便地把需要的列合并在一张表里了。
联结分为交叉联结(CROSS JOIN)、内联结(INNER JOIN)、左联结(LEFT JOIN)、右联结(RIGHT JOIN)
交叉联结(CROSS JOIN) 又被称为笛卡尔积,是所有联结运算的基础。交叉联结的计算规则是对两张表的全部记录进行交叉组合,如果表A有5行记录,表B有8行记录,那么他们的交叉联结结果就会有5*8=40行记录。
而对于包含大量数据的表,交叉联结的计算结果是数量惊人的,而且很多记录也是没有用的。这就导致了实际应用中是很少用到交叉联结去处理数据,而是通过加上一定的条件,找到我们需要的数据即可。
根据限定条件的不同,常见的联结方式有内联结,左联结和右联结(后两者又可以被称为外联结,区别只是主表不同)
内联结SQL子句语法如下: