暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql查询之左连接查询与右连接查询

227decision 2020-05-24
1440

说明

  • 左连接称之为左外连接,右连接称之为右外连接,这两个连接都是属于外连接。

  • 左连接关键字:left join 表名 on 条件/ left outer 表名 join on 条件。

  • 右连接关键字:right join 表名 on 条件/ right outer 表名 join on 条件。

  • 左连接说明: left join 是 left outer join 的简写,左连接,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方均为NULL。

  • 右连接说明:right join 是 right outer join 的简写,右连接,右表的记录将会全部表示出来,而左表只会显示符合搜索条件的记录,左表记录不足的地方均为NULL。


使用



    ### websites.id 和 access_log.site_id关联
    mysql> select * from websites;
    +----+--------+
    | id | name |
    +----+--------+
    | 1 | google |
    | 2 | taobao |
    | 3 | baidu |
    +----+--------+


    mysql> select * from access_log;
    +----+---------+
    | id | site_id |
    +----+---------+
    | 1 | 1 |
    | 2 | 2 |
    +----+---------+


    ### 列出所有网站名称和这些网站的访问信息,同时列出那些没有访问记录的网站名称
    mysql> select w.name ,a.* from websites as w left join access_log as a on w.id = a.site_id;
    +--------+------+---------+
    | name | id | site_id |
    +--------+------+---------+
    | google | 1 | 1 |
    | taobao | 2 | 2 |
    | baidu | NULL | NULL |
    +--------+------+---------+
    3 rows in set


    mysql> select w.name ,a.* from access_log as a right join websites as w on w.id = a.site_id;
    +--------+------+---------+
    | name | id | site_id |
    +--------+------+---------+
    | google | 1 | 1 |
    | taobao | 2 | 2 |
    | baidu | NULL | NULL |
    +--------+------+---------+
    3 rows in set


    文章转载自227decision,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论