什么是外部联结呢?
left join : 是以 left join 左侧表为基准,去关联右侧的表进行联结,如果有未关联的数据,那么数据为 null
right join : 是以 right join 右侧表为基准,去关联左侧的表进行联结,如果有未关联的数据,那么数据为 null
条件:有两个表,一个是用户表,记录订单的单号。另外一个是订单表,记录订单的信息
特殊:不是每一个用户都下了订单
需求:查询出用户下的订单,包括没有下订单的用户
直接使用 join 进行表的内连接,无法显示未关联的数据,所以采用外部联结的方式
以用户表为基准,去关联查询 订单表数据
总结:
内部联结: where , inner join(join)
自联接 : 是在一个SQL中,用当前这个表,联结自己这个表进行关联查询
外部联结: left join 、right join
UNION联合查询
两个select 查询语句,如果查出来的列是类似的。可以使用union直接联结两个查询select 语句
原本两个查询语句查出来的结果是分开的两张表,现在通过union就会合并成一张表,
并且会自动去除重复的行,这是union默认的行为,如果想返回所有匹配的行,可以使用UNION ALL 而不是UNION
对组合查询 结果排序:不存在用一种方式排序一部分,而又用另外一种方式排序另外一部分的情况,因此不允许使用多条order by语句。
order by语句只能写在最后一条查询语句,并且是对所有的查询结果做排序