SQL的inner join、left join、right join、full outer join、union、union all
主题: SQL的inner join、left join、right join、full outer join、union、union all的学习。
Table A和Table B表如下所示:
| id | name |
| 1000 | 猫 |
| 1001 | 狗 |
| 1002 | 苹果 |
| 1003 | 香蕉 |
| id | name |
| 1004 | 猫 |
| 1005 | 狗 |
| 1006 | 栗子 |
| 1007 | 西瓜 |
1. inner join(产生TableA和TableB的交集)
SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name
| id | name | id | name |
| 1000 | 猫 | 1004 | 猫 |
| 1001 | 狗 | 1005 | 狗 |
2. full [outter] join(产生TableA和TableB的并集)
SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name
| id | name | id | name |
| 1000 | 猫 | 1004 | 猫 |
| 1001 | 狗 | 1005 | 狗 |
| 1002 | 苹果 | null | null |
| 1003 | 香蕉 | null | null |
| null | null | 1006 | 栗子 |
| null | null | 1007 | 西瓜 |
对于没有匹配的记录,则会以null做为值。
3. left [outter] join(产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代)
SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name
| id | name | id | name |
| 1000 | 猫 | 1004 | 猫 |
| 1001 | 狗 | 1005 | 狗 |
| 1002 | 苹果 | null | null |
| 1003 | 香蕉 | null | null |
right [outer] join, 是以后面的表为基础,与left [outter] join 类似。
4. union 、 union all(UNION 操作符用于合并两个或多个 SELECT 语句的结果集)
SELECT name FROM TableA UNION SELECT name FROM TableB
| name |
| 猫 |
| 狗 |
| 苹果 |
| 香蕉 |
| 栗子 |
| 西瓜 |
SELECT name FROM TableA UNION ALL SELECT name FROM TableB
| name |
| 猫 |
| 狗 |
| 苹果 |
| 香蕉 |
| 猫 |
| 狗 |
| 栗子 |
| 西瓜 |
SELECT * FROM TableA UNION SELECT * FROM TableB
| id | name |
| 1000 | 猫 |
| 1001 | 狗 |
| 1002 | 苹果 |
| 1003 | 香蕉 |
| 1004 | 猫 |
| 1005 | 狗 |
| 1006 | 栗子 |
| 1007 | 西瓜 |
SQL的inner join、left join、right join、full outer join、union、union all的更多相关文章
- EntityFramework 使用Linq处理内连接(inner join)、外链接(left/right outer join)、多表查询
场景:在实际的项目中使用EntityFramework都会遇到使用Ef处理连接查询的问题,这里做一些小例子如何通过Linq语法处理内连接(inner join).外连接(left/right oute ...
- oracle 内连接(inner join)、外连接(outer join)、全连接(full join)
转自:https://premier9527.iteye.com/blog/1659689 建表语句: create table EMPLOYEE(EID NUMBER,DEPTID NUMBER,E ...
- 图解SQL的inner join、left join、right join、full outer join、union、union all的区别
SQL的Join语法有很多,inner join(等值连接) 只返回两个表中联结字段相等的行,left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录,right join(右 ...
- 图解SQL的inner join(join)、left join、right join、full outer join、union、union all的区别
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...
- 图解SQL的inner join、left join、right join、full outer join、union、union all的区别【转载】
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...
- SQL OUTER JOIN
When we want to select out all the record from two table, no matter it's present at second table or ...
- 图解SQL inner join、left join、right join、full outer join、union、union all的区别
转于:http://justcoding.iteye.com/blog/2006487 这是一篇来自Coding Horror的文章. SQL的Join语法有很多:有inner的,有outer的,有l ...
- SQL夯实基础(一):inner join、outer join和cross join的区别
一.数据构建 先建表,再说话 create database Test use Test create table A ( AID ,) primary key, name ), age int ) ...
- SQL:OUTER JOIN使用方法具体解释
SQL--JOIN使用方法 外联接. 外联接能够是左向外联接.右向外联接或完整外部联接. 在 FROM 子句中指定外联接时,能够由下列几组keyword中的一组指定: LEFT JOIN 或 LEF ...
- 图解SQL的inner join、left join、right join、full outer join、union、union all的区别
转自:http://blog.csdn.net/jz20110918/article/details/41806611 假设我们有两张表.Table A 是左边的表.Table B 是右边的表.其各有 ...
随机推荐
- Codeforces 687C The Values You Can Make(DP)
题目大概说给n个各有价值的硬币,要从它们中选出若干个组合成面值k,而要求的是各个方案里这些选出的硬币能组合出来的面值有哪些. 有点绕.. dp[i][j][k]表示前i个硬币中 能否 组合成面值j且选 ...
- Codeforces 543D Road Improvement(树形DP + 乘法逆元)
题目大概说给一棵树,树的边一开始都是损坏的,要修复一些边,修复完后要满足各个点到根的路径上最多只有一条坏的边,现在以各个点为根分别求出修复边的方案数,其结果模1000000007. 不难联想到这题和H ...
- iOS学习10之OC类和对象
本次是OC的第一节课,主要是学习和理解类与对象 1.面向对象 1> OOP(Object Oriented Programming)面向对象编程. 面向对象以事物为中心,完成某件事情都需要哪些事 ...
- BZOJ 1013 & 高斯消元
题意: 告诉你一个K维球体球面上的K+1个点问球心坐标. sol: 乍一看还以为是K维的二分答案然后判断距离...真是傻逼了...你看乱七八糟的题目做多了然后就会忘记最有用的基本计算... 我们可以看 ...
- SAD算法在opencv上的实现代码(c++)
#include <opencv2/opencv.hpp>#include <opencv2/core/core.hpp>#include <opencv2/highgu ...
- HDU-统计难题
DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Inp ...
- NOIP 2013 货车运输【Kruskal + 树链剖分 + 线段树 】【倍增】
NOIP 2013 货车运输[树链剖分] 树链剖分 题目描述 Description A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在 ...
- SVN错误:Attempted to lock an already-locked dir
在eclipse里提交和更新文件是报错: Attempted to lock an already-locked dir svn: Working copy 'F:\workspace\WebFram ...
- sbt Getting org.scala-sbt sbt 0.13.12 ...
本地仓库被我搞乱了,一气之下整个删掉了本地仓库,再重启sbt卡在Getting这一步. Getting org.scala-sbt sbt 0.13.12 ... 卡住 补充sbt配置文件: 文件结构 ...
- Eclipse tomcat先启动成功,然后再报超时原因之一
eclipse ,tomcat及环境设置都没错,通过上网搜资料发现是因为本机浏览器设置了代理,导致elipse启动tomcat时也启用代理,最后在eclipse中取消代理,成功启动,如下设置: Pre ...