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. nexus https proxy

  2. [UWP]用Win2D和CompositionAPI实现文字的发光效果,并制作动画

    1. 成果 献祭了周末的晚上,成功召唤出了上面的番茄钟.正当我在感慨"不愧是Shadow大人,这难道就是传说中的五彩斑斓的黑?" "那才不是什么阴影效果,那是发光效果.& ...

  3. 2019-11-7:练习上传getshell,通过菜刀连接

    一.使用phtstudy搭建环境 1,将emlog源码解压到phpstudy的www目录,复制emlog源码中的src所有文件到需要搭建emlog的目录中,修改emlog配置文件,输入好本机mysql ...

  4. 新闻实时分析系统-HBase分布式集群部署与设计

    HBase是一个高可靠.高性能.面向列.可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群. HBase 是Google Bigtable 的开源实现,与 ...

  5. 【Luogu P1048 Luogu P1016】采药/疯狂的采药

    采药/疯狂的采药 两道模板题,分别是0-1背包和完全背包. 0-1背包 二维:dp[i][j]=max(dp[i-1][j-time[i]]+v[i],dp[i-1][j]); 由于i的状态由i-1的 ...

  6. PyQt5的安装及测试(pycharm)

    参考链接:https://www.cnblogs.com/pywjh/articles/9835931.html     https://blog.csdn.net/SeekAndFindYou/ar ...

  7. BeautifulSoup模块的常用方法小结

    Beautiful Soup库是解析.遍历.维护“标签树”的功能库. url = "http://desk.zol.com.cn/" request = requests.get( ...

  8. python遍历所有盘符下的图片并拷贝下来

    最近在学习python,闲着无聊就试着写啦这个小的脚本,虽然有很多不足,但是还是收获不少. 该脚本的功能: ①遍历本地计算机中的所有盘符,并将名称记录下来: ②循环遍历盘符下的所有图片(当然这里可以根 ...

  9. MySQL将一个表的查询结果作为本表的查询条件更新数据

    先建一张S01人口统计信息表: drop table if exists S01人口统计信息; /*================================================== ...

  10. Socket模拟SSH

    Socket模拟SSH 主要思路 客户端发送相关命令到服务端,服务端执行命令(通过subprocess模块实现)然后将结果返回给客户端 小知识 Linux中可以发送空数据,服务端能接受到空数据 win ...