文档章节

内联接、左外连接、右外连接、全外连接、交叉连接(CROSS JOIN)-小知识解决大数据攻略

木木情深
 木木情深
发布于 2013/12/19 20:41
字数 383
阅读 48
收藏 1

关键字: 左右连接 数据表的连接有:

1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现

 

2、外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制)

 

3、自连接(连接发生在一张基表内)

 

实例

以下是自己通过小实例来深刻的理解,以免混淆

 我有两张简单的信息表来说明问题

test1:

 

test2:

 

交叉连接(CROSS JOIN)也叫做笛卡尔积

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1 CROSS JOIN
                      dbo.test2


 

内连接

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1  inner JOIN dbo.test2  on test1.name =test2.name2


 

左外连接

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1  left JOIN dbo.test2  on test1.name =test2.name2


右外连接

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1  right JOIN dbo.test2  on test1.name =test2.name2

 

全外连接

SELECT     dbo.test1.name, dbo.test1.sex, dbo.test2.name2, dbo.test2.age
FROM         dbo.test1  full outer JOIN dbo.test2  on test1.name =test2.name2



总结

 

       通过这几种数据的关系可以查找自己想要的数据不用太拘于主外键了(以前没有主外键就不会查找有关系的数据了),这些知识看似简单,但是在大型数据的分析与使用中,可以简化我们的数据逻辑,提高我们的查询效率。

本文转载自:http://www.myexception.cn/operating-system/1459283.html

共有 人打赏支持
木木情深
粉丝 37
博文 189
码字总数 26451
作品 0
广州
程序员
私信 提问
SQL 多个表之间联合查询

非常少用join,这次学学,并备忘两篇文章! 转自:http://hcx-2008.javaeye.com/blog/285661 连接查询 通过连接运算符能够实现多个表查询。连接是关系数据库模型的主要特点,也是它差别于其他...

云栖希望。
2018/01/06
0
0
内连接,外链接(左连接、右连接、全连接),交叉连接大总结

版权声明:欢迎交流! https://blog.csdn.net/basycia/article/details/52205916 1.什么是连接查询呢? 3.具体使用介绍 联接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定联接条件。...

雪飞静
2016/08/14
0
0
SQL 多表联合查询

连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定...

青莲居士
2015/12/09
72
0
mysql 内链接/外链接/交叉链接

1.内链接(典型的链接运算,使用=或<>之类的比较运算)内链接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索students和coursesb表中的学生标识号相同的所有行。 2.外链接...

hyhlinux
2016/07/06
52
0
连接的种类详解

外连接包括左向外联接、右向外联接和完整外部联接。 左连接:left join 或 left outer join 左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,不仅是连接列所匹配的行。如果左表...

博为峰教研组
2016/12/18
4
0

没有更多内容

加载失败,请刷新页面

加载更多

lua中.和:的区别

lua中.和:都可以用于方法的声明和调用。和table配合使用。 :和.最大的不同点,就是:会把调用者自身,传入到函数中。 如下代码: c = {a=1,b=2}function c:foo1()print(self.a,self.b)...

乐_然
4分钟前
0
0
CentOS7 NTP客户端和服务器安装和使用

本文测试环境如下: [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@localhost ~]# [root@localhost ~]# yum install ntp#等待安装完成......

白豆腐徐长卿
14分钟前
4
0
Tensorflow源码解析3 -- TensorFlow核心对象 - Graph

1 Graph概述 计算图Graph是TensorFlow的核心对象,TensorFlow的运行流程基本都是围绕它进行的。包括图的构建、传递、剪枝、按worker分裂、按设备二次分裂、执行、注销等。因此理解计算图Gra...

阿里云官方博客
19分钟前
0
0
网站加载不了 图片

公司测试环境,某网站图片加载不了 nginx 配置 server { listen 80;listen 443 ssl;charset utf-8;root /var/www/html/ad-server; index index.html index.htm...

Linux_Anna
21分钟前
0
0
亿级曝光品牌视频的幕后设定

本文由云+社区发表 作者:腾讯ISUX 项目背景 2019年春节期间,QQ红包运营活动进行了全新改版,将卡券福利、现金奖励打包成福袋形式,并通过年俗小游戏及共享福袋的玩法吸引更多用户参与。在点...

腾讯云加社区
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部