关于sql的full outer join,left join,right join,inner join, cross join 的说明

来源:互联网 发布:域名未授权解析 编辑:程序博客网 时间:2024/03/29 01:05
举个简单的例子吧,从结果来理解比较具体些。a表name sex张三 男李四 女b表name age李四 30王五 231\全外连接select a.name,a.sex,b.name,b.agefrom   a full outer join  b on a.name=b.name结果如下,name sex name age张三 男 NULL NULL李四 女 李四 30NULL NULL 王五 23关联字段name,左表有而右表没有的,如张三,b.name,b.age都为NULL,加上左右两边都有的就是左连接的结果;而右表有而左表表没有的,如王五,a.name,a.sex都为NULL,加上左右两边都有的就是右连接的结果;左右两边都有的如,李四,这就是内连接。相见如下2\左select a.name,a.sex,b.name,b.agefrom   a left outer join  b on a.name=b.name结果如下name sex name age张三 男 NULL NULL李四 女 李四 302\右select a.name,a.sex,b.name,b.agefrom   a right outer join  b on a.name=b.name结果如下name sex name age李四 女 李四 30NULL NULL 王五 233\内联select a.name,a.sex,b.name,b.agefrom   a inner join  b on a.name=b.name结果如下name sex name age李四 女 李四 30 4\交叉select a.name,a.sex,b.name,b.agefrom   a cross join  b on a.name=b.name结果如下name sex name age张三 男 李四 30李四 女 王五 23张三 男 王五 23李四 女 李四 30
原创粉丝点击