内连接是表间行数据的相互关联。
1、 先创建两个表并分别插入数据
2、 (
3、 )
4、 向民族表中插入编号为1、名称为汉族的记录。
5、 向民族表中插入编号为2、名称为苗族的记录。
6、 向 Nation 表中插入一条记录,编号为 3,名称为回族。
7、 向民族表中插入编号为4、名称为壮族的记录。
8、 (
9、 )
10、 向员工表中插入一条记录,编号为e01,姓名为大白菜,性别男,部门编号为2。
11、 向员工表中插入一条记录,编号为e02,姓名为大萝卜,性别女,部门编号为4。
12、 向员工表中插入一条新记录,员工编号为e03,姓名为小猪肉,性别男,部门编号1。
13、 向员工表中插入一条新记录,编号为e04,姓名为公猪肉,性别女,部门编号5。
14、 内连接会在两表中存在匹配时返回对应行数据。
15、 左连接会返回左表中的所有记录,即便右表中无匹配项也会保留左表数据。
16、 右连接会返回右表所有记录,即便左表无匹配项也会保留右表数据。
17、 完整外连接会返回所有表中存在匹配的行,任一表有匹配即输出结果。
18、 交叉连接即两表进行笛卡尔积运算,结果为两表行数的乘积。
19、 内连接会返回两表中存在匹配的记录,只要某行在相关表中有对应数据,就会被输出。以下三种写法结果相同。
20、 内联接(inner join)方式一:通过on后的条件,返回两个表中均符合条件的交集数据。
21、 内联接可省略inner关键字直接书写。
22、 内联接写法三:使用逗号替代 inner join,后直接跟表二名称。
23、 左连接会返回左表中的所有记录,即使右表无匹配项,也会将右表对应字段以null值补充。
24、 左连接保留左边
25、 右连接会返回右表所有记录,即使左表无匹配项也会保留右表数据。
26、 右连接
27、 完整外连接会返回左右两表中所有匹配的行,任一表有匹配即保留该记录。
28、 全外连接查询
29、 交叉连接:两个表的行进行笛卡尔积组合。
30、 交叉连接表
31、 联合查询包括union与union all两种方式。
32、 多表联合查询
33、 union是一种特殊运算符,可将多个查询结果合并为单一结果集。
34、 join通过增加列实现横向合并,union则通过增加行实现纵向合并。
35、 使用union查询时需注意语法规范、字段匹配与去重规则。
36、 每个联合查询的select列表中必须包含相同数量的列,例如第一个查询有三列,则后续查询也必须恰好包含三列。
37、 union结果的标题集仅由第一个查询决定,后续查询的字段名或别名均不影响最终显示的标题。
38、 查询时各列的数据类型需能相互隐式转换,不要求完全相同,但必须兼容。
