与单表查询不同,多表查询是从多张表中查找数据。例如:
select * from user,course;
得到一张有36条数据的表,这是因为12条数据的user表与3条数据的course表进行了笛卡尔积运算,但是在多表查询中,往往需要消除笛卡尔积带来的无效数据。
多表查询分类
多表查询分为连接查询和子查询两种,连接查询又分为
内连接:相当于查询A、B交集部分数据
外连接:
左外连接:查询左表所有数据,以及两张表交集部分数据
右外连接:查询右表所有数据,以及两张表交集部分数据
自连接:
当前表与自身的连接查询,自连接必须使用别名