left join:
select * from table1 a left join table2 b on a.id=b.id 查询结果包含table1 全部,table2的id=table1的id部分。如果table2有多条,则table1会重复取值直到table2符合条件值全部取出
right join
select * from table1 a right join table2 b on a.id=b.id 查询结果包含table2 全部,table1的id=table2的id部分。如果table1有多条,则table2会重复取值直到table1符合条件值全部取出
inner join
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号 只返回两表字段相同的字段内容
union all ;union
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序; 字段类型,字段名均要一致
outer apply ;cross apply
相对left join 与 right join 来说
1) CROSS APPLY 的意思是“交叉应用”,在查询时首先查询左表,然后右表的每一条记录跟左表的当前记录进行匹配。匹配成功则将左表与右表的记录合并为一条记录输出;匹配失败则抛弃左表与右表的记录。(与 INNER JOIN 类似)
2) OUTER APPLY 的意思是“外部应用”,与 CROSS APPLY 的原理一致,只是在匹配失败时,左表与右表也将合并为一条记录输出,不过右表的输出字段为 null。(与 LEFT OUTER JOIN 类似)
https://www.cnblogs.com/abeam/p/7137993.html
标签:table2,table1,join,union,apply,id From: https://www.cnblogs.com/lvxingzhewusheng/p/16815165.html