• 关于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。
       内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。

  • 相关阅读:
    编程这几天出现的很2的问题!!!
    2020 8 1 每日总结
    2020 8 6 每日总结
    2020 8 7 读后感
    2020 8 4 每日总结
    2020 7 30 每日总结
    2020 8 3 每日总结
    2020 8 8 每日总结
    2020 8 2 每周总结
    2020 8 5 每日总结
  • 原文地址:https://www.cnblogs.com/yuqingya/p/12017167.html
Copyright © 2020-2023  润新知