2022-08-05 day32

等值查询

基本语法:使用两张表的关联列,数据相等时,做表拼接,将多张表拼接成一张大表,最终可是查询显示多表的列。

select * from 表1,表2.... where 表1.列名 = 表2.列名

注意:

1:当多表查询时,多表中有相同的列名时,使用列名时必须加表名当前缀。

2:可是使用as关键字给表名或者列名起别名(as关键字可以省略)

3:弊端:等值查询在数据不匹配时,查询的数据不完成:依靠外连接解决该问题。

内连接查询

语法结构:select * from 表1 inner jion 表2 on  表1.列名 = 表2.列名

                 inner jion 表3 on  表2.列名 = 表3.列名

外连接查询

左外连接与右外连接查询

左外连接:

将左表数据全部显示,用右表的数据匹配拼接到左表上,如果数据不匹配,则使用null来拼接

select * from 表名1 left join 表2 on 表1.列名 = 表2.列名

右外连接:

将右表数据全部显示,用左表的数据匹配拼接到右表上,如果数据不匹配,则使用null来拼接

select * from 表名1 right join 表2 on 表1.列名 = 表2.列名

为了保证数据的完整性,一般都会使用外连接查询,当多表所有数据都能匹配时,外连接与等值查询的结果没有区别。

示例:

你可能感兴趣的:(2022-08-05 day32)