1.建表

首先建tb_a并插入数据。

));
insertinto tb_a(symbol, sname) values ('A','B');
insertinto tb_a(symbol, sname) values ('G','H');

tb_a表结构如下

接着建立tb_b并插入数据

));
insertinto tb_b(symbol, tdate, tclose) values ('A','C','D');
insertinto tb_b(symbol, tdate, tclose) values ('X','E','F');

tb_b表结构如下

2.INNER JOIN(内连接)

其中INNER关键字可以省略,并且只有在表a和表b中都有匹配行时,才返回。

select a.symbol,
a.sname,
b.tdate,
b.tclose
from tb_a a
innerjoin tb_b b
on a.symbol = b.symbol;

等价于

select a.symbol,
a.sname,
b.tdate,
b.tclose
from tb_a a,
tb_b b
where a.symbol = b.symbol;

等价于

select a.symbol,
a.sname,
b.tdate,
b.tclose
from tb_a a
join tb_b b
on a.symbol = b.symbol;

返回结果:

3.OUTER JOIN(外连接)

其中OUTER可省略。分为(LEFT OUTER JOIN,RIGHT OUTER JOIN ,FULL JOIN)。

3.1 LEFT OUTER JOIN

当左表中的行在右表中没有匹配行时,也返回。返回的记录中,选择的右表的内容为NULL。

select a.symbol,
a.sname,
b.tdate,
b.tclose
from tb_a a
leftjoin tb_b b
on a.symbol = b.symbol;

返回结果:

3.2 RIGHT OUTER JOIN

当右表中的行在左表中没有匹配行时,也返回。返回的记录中,选择的左表的内容为NULL。

select a.symbol,
a.sname,
b.tdate,
b.tclose
from tb_a a
rightjoin tb_b b
on a.symbol = b.symbol;

返回结果:

3.3 FULL JOIN

可以理解为LEFT和RIGHT的集合。

select a.symbol,
a.sname,
b.tdate,
b.tclose
from tb_a a
fulljoin tb_b b
on a.symbol = b.symbol;

返回结果:

4.CROSS JOIN(交叉连接)

笛卡尔积。

select a.symbol,
a.sname,
b.tdate,
b.tclose
from tb_a a
crossjoin tb_b b;

返回结果:

2016/09/29 SQL中的join的更多相关文章

  1. SQL中inner join、outer join和cross join的区别

    对于SQL中inner join.outer join和cross join的区别简介:现有两张表,Table A 是左边的表.Table B 是右边的表.其各有四条记录,其中有两条记录name是相同 ...

  2. SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别

    前言: 今天主要的内容是要讲解SQL中关于Join.Inner Join.Left Join.Right Join.Full Join.On. Where区别和用法,不用我说其实前面的这些基本SQL语 ...

  3. 【转载】SQL中inner join、outer join和cross join的区别

    对于SQL中inner join.outer join和cross join的区别很多人不知道,我也是别人问起,才查找资料看了下,跟自己之前的认识差不多, 如果你使用join连表,缺陷的情况下是inn ...

  4. LINQ TO SQL 中的join(转帖)

    http://www.cnblogs.com/ASPNET2008/archive/2008/12/21/1358152.html join对于喜欢写SQL的朋友来说还是比较实用,也比较容易接受的东西 ...

  5. sql中的join

    首先准备数据 有以下数据,三张表:role(角色表).hero(英雄表).skill(技能表),我们以英雄联盟的数据做示例 一个hero对应一个role(我们这里暂定) 一个role可以对应多个her ...

  6. Access SQL中Left Join、Right Join和Inner Join的使用

    1.表结构 表A                                     表B 2.Left Join 示例:2.1 Select * From A left join B on A. ...

  7. SQL中的Join和Where的区别

    一.sql语句中left join.inner join中的on与where的区别 0.各种join操作的概念和作用 left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录. ...

  8. SQL中INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN区别

    sql中的连接查询有inner join(内连接).left join(左连接).right join(右连接).full join(全连接)四种方式,它们之间其实并没有太大区别,仅仅是查询出来的结果 ...

  9. SQL中的join操作总结(非常好)

    1.1.1 摘要 Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接.外联接和交叉联接等.如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的 ...

随机推荐

  1. centos 生成网卡UUID

    在Linux或CentOS中,可以通过如下命令获取网卡的uuid信息: uuidgen 网卡名07d07031-eb0f-4691-8606-befb46645433 查看网卡UUID nmcli c ...

  2. python requirements.txt的创建及使用

    要求文件(requirements.txt)是安装包的依赖项及版本的记录文件. pip: 创建 (venv) $ pip freeze >requirements.txt 使用 (venv) $ ...

  3. 宋宝华: Linux内核编程广泛使用的前向声明(Forward Declaration)

    本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) 前向声明 编程定律 先强调一点:在一切可 ...

  4. 解决无法定位软件包 或 install net-tools

    解决无法定位软件包  或  install net-tools  当我们安装好Linux后,因为里面有很多功能服务没有安装(如ifconfig.vsftpd) 所以出现一些command  '**** ...

  5. JAVA——汉诺塔

    大家还记得某年春晚小品那个把大象放冰箱需要几步吗? 今天,我准备写的是汉诺塔,有三个魔法石柱,分别:诚实.勇敢.正直.其中有一个石柱上从大到小,从地向上依次排放着四个魔法圆环,需要将那四个魔法圆环分别 ...

  6. 使用python脚本执行地理处理工具

    桌面ArcGIS包含800多种可在Python脚本中运行的地理处理工具. 通过Python脚本来运行地理处理工具,可以处理复杂的工作和执行批处理任务. 案例一:使用脚本执行地理处理工具(以裁剪为例) ...

  7. JavaScript如何创建一个对象

    我们可以利用JavaScript的语法特征,以类的思想来创建对象. 方法一:原始方法代码如下: <script> var obj = new Object(); obj.name = &q ...

  8. c++关于multiset的头文件包含问题

    最近在Bilibili上看到不少侯捷老师C++的视频教程,侯捷老师翻译了很多C++的经典书籍,比如<Essential C++中文版>.<STL源码剖析>,也写了<深入浅 ...

  9. iOS UILable和属性字符串的使用

    UILable的常用方法和属性 设置文字颜色(默认为黑色) @property(nonatomic,strong) UIColor     *textColor 设置显示文字 @property(no ...

  10. Use Swift Dynamic Framework (如何科学地引用第三方 Swift 库)

    转自:http://andelf.github.io/blog/2014/07/07/use-swift-dynamic-library/ CocoaPods 由于完全使用静态链接解决方法,过度依赖 ...