SQL full outer join

🌙
手机阅读
本文目录结构

SQL FULL OUTER JOIN 关键字

FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行。

FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

SQL FULL OUTER JOIN 语法

  1. SELECT column_name(s)
  2. FROM table1
  3. FULL OUTER JOIN table2
  4. ON table1.column_name=table2.column_name;

SQL FULL OUTER JOIN

演示数据库

在本教程中,我们将使用 axihe 样本数据库。

下面是选自 “Websites” 表的数据:

  1. +----+--------------+---------------------------+-------+---------+
  2. | id | name | url | alexa | country |
  3. +----+--------------+---------------------------+-------+---------+
  4. | 1 | Google | https://www.google.cm/ | 1 | USA |
  5. | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN |
  6. | 3 | 阿西河前端教程 | http://www.axihe.com/ | 4689 | CN |
  7. | 4 | 微博 | http://weibo.com/ | 20 | CN |
  8. | 5 | Facebook | https://www.facebook.com/ | 3 | USA |
  9. | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
  10. +----+---------------+---------------------------+-------+---------+

下面是 “access_log” 网站访问记录表的数据:

  1. +-----+---------+-------+------------+
  2. | aid | site_id | count | date |
  3. +-----+---------+-------+------------+
  4. | 1 | 1 | 45 | 2016-05-10 |
  5. | 2 | 3 | 100 | 2016-05-13 |
  6. | 3 | 1 | 230 | 2016-05-14 |
  7. | 4 | 2 | 10 | 2016-05-14 |
  8. | 5 | 5 | 205 | 2016-05-14 |
  9. | 6 | 4 | 13 | 2016-05-15 |
  10. | 7 | 3 | 220 | 2016-05-15 |
  11. | 8 | 5 | 545 | 2016-05-16 |
  12. | 9 | 3 | 201 | 2016-05-17 |
  13. +-----+---------+-------+------------+
  14. 9 rows in set (0.00 sec)

SQL FULL OUTER JOIN 实例

下面的 SQL 语句选取所有网站访问记录。

MySQL 中不支持 FULL OUTER JOIN,你可以在 SQL Server 测试以下实例。

  1. SELECT Websites.name, access_log.count, access_log.date
  2. FROM Websites
  3. FULL OUTER JOIN access_log
  4. ON Websites.id=access_log.site_id
  5. ORDER BY access_log.count DESC;

**注释:**FULL OUTER JOIN 关键字返回左表(Websites)和右表(access_log)中所有的行。如果 “Websites” 表中的行在 “access_log” 中没有匹配或者 “access_log” 表中的行在 “Websites” 表中没有匹配,也会列出这些行。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了