zoukankan      html  css  js  c++  java
  • left join ,right join ,inner join ,cross join 区别

    left join ,right join ,inner join ,cross join 区别(参考:http://zhidao.baidu.com/link?url=gpOl9HXZR0OrQuys04oH3f8guGQFZBUNs7kd4JWbUcDVbflB4qe1LJnLbfWXa7-CjfDWhzgK5T26-FZpZwVqLq)

    举个简单的例子吧,从结果来理解比较具体些。
    a表
    name sex
    张三 男
    李四 女

    b表
    name age
    李四 30
    王五 23

    1全外连接
    select a.name,a.sex,b.name,b.age
    from a full outer join b on a.name=b.name
    结果如下,
    name sex name age
    张三 男 NULL NULL
    李四 女 李四 30
    NULL NULL 王五 23
    关联字段name,左表有而右表没有的,如张三,b.name,b.age都为NULL,加上左右两边都有的就是左连接的结果;而右表有而左表表没有的,如王五,a.name,a.sex都为NULL,加上左右两边都有的就是右连接的结果;左右两边都有的如,李四,这就是内连接。相见如下
    2左
    select a.name,a.sex,b.name,b.age
    from a left outer join b on a.name=b.name
    结果如下
    name sex name age
    张三 男 NULL NULL
    李四 女 李四 30
    2右
    select a.name,a.sex,b.name,b.age
    from a right outer join b on a.name=b.name
    结果如下
    name sex name age
    李四 女 李四 30
    NULL NULL 王五 23
    3内联
    select a.name,a.sex,b.name,b.age
    from a inner join b on a.name=b.name
    结果如下
    name sex name age
    李四 女 李四 30
    4交叉(用mysql没测试出来,和inner join结果 一样,有看到的请指教)
    select a.name,a.sex,b.name,b.age
    from a cross join b on a.name=b.name
    结果如下
    name sex name age
    张三 男 李四 30
    李四 女 王五 23
    张三 男 王五 23
    李四 女 李四 30

    (http://blog.csdn.net/zhuxinhua/article/details/5815910)
  • 相关阅读:
    Java线程的学习(一)——以售票系统为例
    web笔记
    ssm2之applicationContext.xml文件配置
    ssm笔记1
    在ViewHolder中添加item点击事件接口(自定义
    Java反射机制
    新手导航页(小圆点
    jsoup
    TextView设置随机大小和颜色
    常用IO流
  • 原文地址:https://www.cnblogs.com/yuhoukongshan/p/5799780.html
Copyright © 2011-2022 走看看