等值查询
基本语法:使用两张表的关联列,数据相等时,做表拼接,将多张表拼接成一张大表,最终可是查询显示多表的列。
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.列名
为了保证数据的完整性,一般都会使用外连接查询,当多表所有数据都能匹配时,外连接与等值查询的结果没有区别。
示例: