zoukankan      html  css  js  c++  java
  • inner join,left out join,right out join三者的不同用法(转载)

    jion 语句有三种,inner join, left outer join 和 right outer join 都可以简写,分别为jion,left join,right jion。

    jion语句可以用来组合两个表中的记录,只要在公共字段之中有相符的值即可,该语句联合两个表查询得到的结果是可以添加新的数据,可以把它看成将两个具有相关内容的表联接在一起新生成的表,而一般的select 语句没有这个功能。
    1)      内连接,inner join ... on
        语句格式:

        FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表X ON Member.字段号=表X.字段号

         例子:

        SELECT *

        FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock

        ORDER BY MemberDate DESC

         内连接的功能是,把两个表相关联的记录列出来,必须是相关联的记录。

       2)      左外连接,left outer join ... on

        语句格式:

          FROM [表名1] LEFT JOIN [表名2]

          ON [表名1.字段A] 〈关系运算符〉[表名2.字段B]

        其实LEFT JOIN 的功能就是将LEFT左边的表名1中的所有记录全部保留,而将右边的表名2中的字段B与表名1.字段A相对应的记录显示出来(当使用SELECT * 时)。而RIGHT JOIN 和LEFT JOIN 相反。

         外连接的功能是,把LEFT左边的表中的所有记录保留,而右边表只保留相关联的记录,也就是先执行一次INNER JOIN,然后把LEFT左边的表中的与右边表没有任何关联的记录也保留,而右边表的字段为null.

    3)      右外连接,right outer join ... on

        与 left join左右相反。

    4)      全连接,full join ... on(不常使用,只能用于outer)

         功能结合了以上三种联军,先执行一次inner join,然后把两个表的多余字段都保留,但连接的对应字段为null.

    如果想将几个表联接起来,在JOIN操作中我们可以进行嵌套操作,有三个表:表1、表2、表3,现在将三个表联接起来:

          FROM (表1 INNER JOIN 表2 ON 表1.序号=表2.序号)

           INNER JOIN 表3 ON 表1.序号=表3.序号

  • 相关阅读:
    转 闭包简单理解
    mac 利用 sshpass 自动登录
    阮一峰 IaaS,PaaS,SaaS 的区别
    YMP运行初始化步骤
    强烈推荐 在线接口文档管理工具 小幺鸡 小团队可以省掉测试了
    springboot JSP 404
    并发测试 JavaDemo
    JS刷新当前页面的几种方法总结
    jquery checkbox勾选/取消勾选只能操作一次的诡异问题
    微信网页 第三方登录原理详解(转)
  • 原文地址:https://www.cnblogs.com/zqn518/p/2480518.html
Copyright © 2011-2022 走看看