数据库的连接(内连接,外连接,笛卡尔积)
对于本文章,所用的表为student表和score表
(数据比较简单~)
1. 内连接
1.1 自然连接
自然连接只考虑属性相同的元组对。在本例中考虑的就是id,所以的到的结果如下
1.2 等值连接
等值连接一般都是给定条件进行查询,一般可以是使用>,<等符号进行描述。以下是采用等号的描述,一般放在where语句当中。如图
2. 外连接
2.1 左外连接
以第一个关系为主,在第二个关系中找到满足条件的元素,并把他们连接起来,如果没有对应的元素,则在相应位置上的值为null
2.2 右外连接
和左外连接一样,右外连接找到满足条件的元素进行连接,不同的只是关系的位置而咦
2.3 全外连接
全外连接是左外连接和右外连接的组合。简单说就是将左外连接和右外连接同时做多一次。做在mysql中没有全连接运算,但是根据全连接的定义,我们可以写成左外连接和右外连接组合起来。如下图所示
3. 笛卡尔积
笛卡尔积原本是代数的概念,他的意思是对于两个不同的集合A,B。对于A中的每一个元素,都有对于在B中的所有元素做连接运算 。可以见得对于两个元组分别为m,n的表。笛卡尔积后得到的元组个数为m x n个元组。而对于mysql来说,默认的连接就是笛卡尔积连接。