浅谈数据库中join操作
来源:互联网 发布:python 编写登录程序 编辑:程序博客网 时间:2024/05/21 09:14
1. Join分为内连接(inner join) 和 外连接(outer join)
两者之间的区别在于:前者返回连接表中符合连接条件和查询条件的信息。
后者不仅返回 连接表中符合连接条件和查询条件的数据行,还返回一些更多的信息。
两者join的基础都是,笛卡尔积连接。笛卡尔积连接,最简单的连接方式,即,仅仅满足连接条件。A表中的每行数据与B表中的每行数据做连接。 假设A表有m条记录, B表有n条记录,那么笛卡尔积之后就有m*n条记录。为了清晰地表达,以维基上的例子作为本文的例子。
以下是笛卡尔积连接的结果:
2. 内连接(inner join)
1)内连接,是默认的连接方式。有两种语法形式:显式以及隐式。显示语法:(join,on的语法)等价于:这便是隐式语法,即我们常常使用的连接方式即为默认的内连接方式。结果显示如下:2)内连接分三种:相等连接、自然连接、以及交叉连接a. 相等连接 两表之间用等号=相连接,而不是用其他比较操作符(如 <)。前面的查询语句就是相等连接 语法: =>等价于(专门表示方法)【结果显示跟上面一样)】
b. 自然连接是相等连接的特例,再特殊化,即如果连接的两表有相同属性名称,则这个相同的属性将会自动做相等连接、 并且最终显示结 果,相同的属性仅显示一次,不重复。
语法:
结果显示如下:
c. 交叉连接
即 笛卡尔积连接,上面有讲述,不累述。语法: => 【隐式的笛卡尔积连接,无连接条件下】3. 外连接(outer join)
外连接分成三种:左外连接、右外连接以及全外连接。a. 左外连接: 将左表中除了满足连接条件的行显示在结果中之外,不满足的行也同样显示在结果中(额外信息).语法:【注意:join on 是连在一起的语句块】 结果显示如下:b. 右外连接: 与上述操作不同在于’左‘改成’右‘;
right outer join ...on
结果显示如下:
【注:左外连接=》右外连接,表的位置变换下】c. 全连接: 左外连接+右外连接full outer join … on结果显示如下:
0 0
- 浅谈数据库中join操作
- 浅谈数据库中join操作
- 【转载】数据库JOIN操作
- 数据库的Join操作
- MySql中join操作
- MySql中join操作
- hive中join操作
- 浅谈命令行操作数据库
- 浅谈 SQL 中 LEFT JOIN/RIGHT JOIN/INNER JOIN/FULL JOIN 差别
- 浅谈SQL Server中的三种物理连接操作(Nested Loop Join、Merge Join、Hash Join)
- DataSet中进行Join操作
- MapReduce中实现Join操作
- Spark中常见join操作
- 浅谈一下数据库相关操作
- 数据库查询中的连接操作(join)
- Idea数据库操作(Inner Join)
- Idea数据库操作(Left Join)
- Idea数据库操作(Right Join)
- Leetcode 2
- 定时器中断实验
- 利用FreeImage将gif图像转为opencv中的Mat
- 让我们冷静一段时间好吗
- beta测试
- 浅谈数据库中join操作
- 聊聊"jQuery is not defined"
- Cadence Allegro原理图绘制:如何让错位的连接线准确接上管脚
- python3的编码问题
- 高效替换字符串中的空格
- 第五篇、创建型设计模式——单例模式
- hash表
- RPC简析
- 思维导图Freemind与Xmind哪个在工作中更好用?