sql left join,right join,inner join,union,union all,outer apply,cross apply

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

posted @   旅行者无声  阅读(100)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示