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 是右边的表.其各有 ...
随机推荐
- OpenCV 第一课(安装与配置)
OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...
- BZOJ4116 : [Wf2015]Tours
将边集划分成若干极大不相交集合,满足每个简单环都可以由某些集合相加得到,则答案就是这些集合大小的$\gcd$的约数. 对于一个简单环,上面的边一定不是桥边,而和它在一个集合的边肯定不在其他简单环上.因 ...
- IO中同步、异步与阻塞、非阻塞的区别
一.同步与异步同步/异步, 它们是消息的通知机制 1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回. 按照这个定义,其实绝大多数函数都是同步调用(例如si ...
- 关于struts2中表单提交时,中文乱码问题的解决
http://blog.csdn.net/hjw506848887/article/details/8966194 今天写项目时,突然遇到了struts2中表单提交的中文乱码问题,调了好久就是不知道答 ...
- 使用 Git 和 Visual Studio Online 进行版本控制
参考资料: 在开发计算机上设置 Git(配置.创建.克隆.添加) 关于 Git 和 Visual Studio Online 是什么请自行百度 转载请注明来源: http://www.cnblogs. ...
- Coder-Strike 2014 - Finals (online edition, Div. 2) B. Start Up
需要满足的条件是 (1)每个字母是对称的 (2)每个字符串是对称的 #include <iostream> #include <algorithm> #include < ...
- 【BZOJ】2456: mode
http://www.lydsy.com/JudgeOnline/problem.php?id=2456 题意:给一个$n<=500000$的数列,求出现次数超过$\lfloor \frac{n ...
- HDU 4003 Find Metal Mineral(分组背包+树形DP)
题目链接 很棒的一个树形DP.学的太渣了. #include <cstdio> #include <string> #include <cstring> #incl ...
- BZOJ4551: [Tjoi2016&Heoi2016]树
Description 在2016年,佳媛姐姐刚刚学习了树,非常开心.现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标 ...
- ThinkPhp循环出数据库中的内容并输出到模板
<foreach name='user' item='v'> //循环出数据库中的内容 对应控制器->方法中的 $this->assign('user',M('user')- ...