zoukankan      html  css  js  c++  java
  • 关于MySQL的内连接,外连接的总结

       首先创建两个数据库表,用户表u,账户表a

         先看一下数据库表:

             u表:

                           

               a表:

                           

       1. 内连接。

       关键字:inner join

       SQL语句: select u.*,a.ID as aid,a.money from u INNER JOIN a ON u.id=a.uid;

       结果

                                         

                               

       * 只输出匹配的数据,即u表id与a表uid相同的数据,相当于 “select u.*,a.ID as aid,a.money from u,a where u.id=a.uid;”,结果是一样的。

       2.外连接。左向外连接、右向外连接  

         (1)左向外连接(左连接)

        关键字: LEFT  JOIN或LEFT OUTER JOIN     

       SQL语句:select u.*,a.ID as aid,a.money from u LEFT JOIN a ON u.id=a.uid;

        结果:

                                     

       *左向外连接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果u表的某行在a表中没有匹配行,则在相关联的结果集行中a表的所有选择列表列均为空值。(为了理解这里给出结果一样的右连接查询:“select u.*,a.ID as aid,a.money from a RIGHT JOIN u ON u.id=a.uid;”)

      (2)右向外连接(右连接)

        关键字:RIGHT  JOIN 或 RIGHT  OUTER  JOIN     

        SQL语句: select u.*,a.ID as aid,a.money from u RIGHT JOIN a ON u.id=a.uid;;

        结果:

                                     

                                   

       *右向外联接是左向外联接的反向联接。将返回b表的所有行,如果b表的某行在左表中没有匹配行,则将为a表返回空值。

    总结:

    内连接,左连接,右连接的区别是什么?

             ① 内连接关键字:inner join;
             ② 左连接:left join;
             ③ 右连接:right join。
       内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。

  • 相关阅读:
    今週のschedule
    软件架构师应该知道的97件事
    没办法的复习
    优秀程序员的45个习惯
    程序员如何追女孩
    那些相见恨晚的 JavaScript 技巧
    CodeSmith开发系列资料总结
    HR的至高机密:20个公司绝对不会告诉你的潜规则
    asp.net页面出错时的处理方法
    Asp.net 文件上传的 FileUpload FileName 和 FileUpload PostedFile.FileName的细节问题
  • 原文地址:https://www.cnblogs.com/yuqingya/p/12017167.html
Copyright © 2011-2022 走看看