(1) 内连接
关键字:inner join on
select * from a_table inner join b_table on a_table.a_id = b_table.b_id;
/*
执行结果如下:
| a_id | a_name  | a_part | b_id | b_name | b_part |
| ————  ————————  ———————— ——————  ———————  ———————|
|    2   |  李四   | 政治部 |  2  |  李四  | 政治部 |
|  3     |  王五   | 装备部  |  3     |  王五  | 装备部 |
*/
Note:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集部分
(2) 左连接(左外连接)
关键字:left join on / left outer join on
select * from a_table left join b_table on a_table.a_id = b_table.b_id;
/*
执行结果如下:
| a_id | a_name  | a_part | b_id | b_name | b_part |
| ————  ————————  ———————— ——————  ———————  ———————|
|    2   |  李四   | 政治部 |  2  |  李四  | 政治部 |
|  3     |  王五   | 装备部  |  3     |  王五  | 装备部 |
|  1     |  张三   | 司令部 | NULL |  NULL  |  NULL  |
|  4     |  赵六   | 后勤部 | NULL |  NULL  |  NULL  |
*/
Note:left join 是left outer join的简写,全称左外连接,是外连接的一种左(外)连接,
左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录,右表记录不足的地方均为NULL。
(3) 右连接(右外连接)
关键字: right join on / right outer join on
select * from a_table right outer join b_table on a_table.a_id = b_table.b_id;
/*
执行结果如下:
| a_id   | a_name   | a_part |  b_id |  b_name | b_part |
| ————   |  ——————  | —————— |  ———— |  ———————   ——————|
|  2     |  李四    | 政治部  |  2     |  李四  | 政治部 |
|  3     |  王五  | 装备部  |  3   |  王五  | 装备部 |
| NULL   |  NULL    | NULL   |  5    |  刘七  | 国防部 |
| NULL   |  NULL    |  NULL  |  6    |  杨八  | 审计部 |
*/
Note:right join是right outer join的简写,它的全称是右外连接,是外连接中的一种。
与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。
(4) 全(外)连接
关键字: FULL OUTER JOIN
SELECT
    O.ID,
    O.ORDER_NUMBER,
    O.CUSTOMER_ID,
    C.ID,
    C.NAME 
FROM
    ORDERS O
    FULL OUTER JOIN CUSTOMERS C ON C.ID = O.CUSTOMER_ID;
注意:MySQL是不支持全外的连接的,这里给出的写法适合Oracle和DB2。但是可以通过左外和右外求合集来获取全外连接的查询结果。

7-SQL-join连接的更多相关文章

  1. 【SQL】各取所需 | SQL JOIN连接查询各种用法总结

    前面 在实际应用中,大多的查询都是需要多表连接查询的,但很多初学SQL的小伙伴总对各种JOIN有些迷糊.回想一下,初期很长一段时间,我常用的似乎也就是等值连接 WHERE 后面加等号,对各种JOIN也 ...

  2. SQL Join连接

    SQL 连接(Joins) SQL join 用于把来自两个或多个表的行结合起来. SQL JOIN SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. 最常见的 J ...

  3. SQL join 连接时 条件加在 on后面和 where 的区别

    task 是用户任务表,manageuser是用户表,以left join 为参考: 此时主表是task,三条sql语句:注意区别.第一句无筛选条件,第二句筛选条件在on后面,第三句sql的筛选语句放 ...

  4. SQL JOIN连接分类[转]

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符):包括相等联接和自然联接: 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行:    2.外联接.外联接可以 ...

  5. LINQ系列:LINQ to SQL Join连接

    1. 一对多 var expr = context.Products .Where(p => p.Category.CategoryName == "LINQ to SQL" ...

  6. SQL Join(连接查询)

    1.连接查询分为: inner join(自然连接,自连接) Left join(左连接)/Left outer join(左外连接):效果一样 Right join(右连接)/Right outer ...

  7. SQL Join连接大小表在前在后的重要性(小表在前提高执行效率)

    引用地址:https://blog.csdn.net/qq_30349961/article/details/82662550 http://blog.sina.com.cn/s/blog_6ff05 ...

  8. SQL表连接查询(inner join、full join、left join、right join)

    SQL表连接查询(inner join.full join.left join.right join) 前提条件:假设有两个表,一个是学生表,一个是学生成绩表. 表的数据有: 一.内连接-inner ...

  9. sql表连接left join,right join,inner join三者之间的区别

    sql表连接left join,right join,inner join区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 (以左表数据为基准,不足补为NULL) ...

  10. SQL ----------- join (inner join 内连接)

    SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段,把两个表中的数据放在一个表中查询 注意: join 连接有多种方式,比如内连接,外连接,交叉连接 可以和where ...

随机推荐

  1. Mac版Sourcetree的安装使用

    本人也在亲测,感觉很有效,和大家分享,参考链接: https://www.jianshu.com/p/b8d0547a8449

  2. 团队项目之Scrum1

    小组:BLACK PANDA 时间:2019.11.16 部分 得分项 分数 完成内容 第 1 篇 Scrum 冲刺博客 各个成员在 Alpha 阶段认领的任务 3 明日各个成员的任务安排 3 用户登 ...

  3. 如何使用压缩的方式将Windows下的zip压缩包上传到Linux系统

      我们可以使用在Windows下压缩文件夹,然后到Linux系统下解压缩的方式,完成整个上传工作. 第一步:在Windows系统下,将整个文件夹压缩成zip后缀的压缩包 方法一:

  4. Django源码安装xadmin报错Apps aren't loaded yet.

    环境:python2.7, django1.9 1.报错django.core.exceptions.AppRegistryNotReady:Apps aren't loaded yet.如下图所示: ...

  5. Python对 Excel 的常用操作

    几个常用的对象 Workbook:工作簿,一个包含多个Sheet的Excel文件 Worksheet:工作表,一个Workbook有多个Worksheet,如"Sheet1",&q ...

  6. eNSP仿真软件之利用三层交换机实现VLAN间路由

    1.实验原理: VLAN将一个物理的LAN在逻辑上划分成多个广播域.VLAN内的主机间可以直接通信,而VLAN间不能直接互通. 在现实网络中,经常会遇到需要跨VLAN相互访问的情况,工程师通常会选择一 ...

  7. Python:判断列表中含有字符串且组成新的列表打印输出-Dotest董浩

    '''题一:判断列表中含有字符串且组成新的列表打印输出知识点:列表.列表的增删改查.for循环.if判断'''#@Author:Dotest软件测试#@QQ:1274057839names = ['D ...

  8. JSON格式日期的转换

    扒来的链接: https://blog.csdn.net/zhang33565417/article/details/99676975 感谢这位哥们儿的分享!

  9. ASA 笔记

    show logging 缓存日志FW(config)# show run route 查看路由 FW(config)# ip verify reverse-path interface Outsid ...

  10. 古来月Beta阶段博客报告

    Scrum会议 第十一周会议 https://www.cnblogs.com/ouc-xxxxxx/p/12014345.html 第十周会议 https://www.cnblogs.com/ouc- ...