连接查询:将两个或两个以上的表按照某个条件连接起来,从中选取需要的数据。查询多表过程中表名建议后面起别名,防止查询字段混淆。
连接查询分为内连接查询和外连接查询,外连接查询又分为左连接查询和右连接查询。
迪卡尔乘积:类似于排列组合,以两表为例,所有的查询结果可以理解为两表记录数据乘积。
select * from 表名1,表名2;
内连接查询:一种常用的连接查询,可以查询两个或两个以上的表。内连接查询我觉得查询结果 相较于外连接查询应该是"精确"、“不全面的”,它按照条件从迪卡尔乘积结果集中选 取对应结果。
select * from 表名1,表名2 where 表名1.属性名=表名2.属性名;
外连接查询:可以查询一张表中的所有信息
select 属性名列表 from 表名1 left | right join表名2 on 表名1.属性名 = 表名2.属性名
左连接查询:可以查询出表名1的所有记录,表名2只能查询匹配到表名1中对应某条数据 的结果,若查询匹配不到,就以空值null显示。
右连接查询:可以查询出表名2的所有记录,表名1只能查询匹配到表名2中对应某条数据 的结果,若查询匹配不到,就以空值null显示。
简单来说,外连接查询就是依照一张表(表1)中的所有数据(最终查询结果所有数据全 部显示),按照两表中某个属性名的连接,从另一个表(表2)中的所有数据中查询对应 表1的数据。
多条件查询:就是在内连接查询的基础上对结果集再加条件进行查询
select * from 表名1,表名2 where 表名1.属性名=表名2.属性名 and 条件表达式 and...;