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)
  • 相关阅读:
    cmd 中英文 切换
    comparable和comparator
    ORACLE 毫秒转换为日期 日期转换毫秒
    asp.net弹出对话框
    一、DataBinder.Eval的基本格式
    转载 创业
    常用的js验证数字,电话号码,传真,邮箱,手机号码,邮编,日期
    CodeSmith开发系列资料总结
    SQL函数说明大全
    SQLServer游标的使用
  • 原文地址:https://www.cnblogs.com/yuhoukongshan/p/5799780.html
Copyright © 2011-2022 走看看