1.左连接

select a.filed1,a.filed2,b.filed1

from a (左表)

left join b(右表)

on a.commonfiled = b.commonfiled

查询思路:按照匹配字段(外键),b表记录与a表记录进行逐一匹配,若有n条匹配,则形成n行。若无匹配,则左表中得记录是全的,即使右表没有匹配的字段存在

2.右连接

select a.filed1,a.filed2,b.filed1

from a (左表)

right join b(右表)

on a.commonfiled = b.commonfiled

查询思路:按照匹配字段(外键),a表记录与b表记录进行逐一匹配,若有n条匹配,则形成n行。若无匹配,则右表中得记录是全的,即使左表没有匹配的字段存在 ()

3.内连接

select a.filed1,a.filed2,b.filed1

from a (左表)

inner join b(右表)

on a.commonfiled = b.commonfiled

查询思路:按照匹配字段(外键)进行逐一匹配,至少有一条匹配,才形成一行,若有n条匹配,则形成n行。(即:外键匹配形成行

4.全连接

select a.filed1,a.filed2,b.filed1

from a (左表)

full join b(右表)

on a.commonfiled = b.commonfiled

查询思路:按照匹配字段(外键)进行逐一匹配,有匹配的则匹配成一行,无匹配的则单独成一行。

5.交叉连接

全部匹配。即:生成笛卡尔积连接

6.Union 和 Union  all

Union和union all表示把查询的结果集并集起来,而不是交集

限制: union和union all进行并集的字段必须是同一数据类型

  • union 是去掉重复值 union all不去掉重复值

union用法

select a.filed1 from a union b.filed1 from b

union all 用法

select a.filed1 from a union all  b.filed1 from b

 

关于数据库的左,右,内,外连接,Union和Union all---------笔记的更多相关文章

  1. SQL 左外连接,右外连接,全连接,内连接

    原文地址  连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行.             连接可 ...

  2. <转>SQL 左外连接,右外连接,全连接,内连接

    本文节选自:https://www.cnblogs.com/youzhangjin/archive/2009/05/22/1486982.html       连接条件可在FROM或WHERE子句中指 ...

  3. sql左外连接、右外连接、group by、distinct(区别)、intersect(交叉)、通配符、having

    连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行.             连接可分为以下几类 ...

  4. 关于MySQL的内连接,外连接的总结

    首先创建两个数据库表,用户表u,账户表a 先看一下数据库表: u表: a表: 1. 内连接.    关键字:inner join SQL语句: select u.*,a.ID as aid,a.mon ...

  5. DQL---连接查询(内连接、外连接)、子查询、分页查询

    一.连接查询 1.连接查询建立在有相互关系的两个表间,进行两个及两个以上的表或视图的查询. 2.对n张表进行查询,至少需要n-1个连接表的条件. 二.笛卡尔积(容易造成数据库宕机) 1.指表中每行元素 ...

  6. R7—左右内全连接详解

    在SQL查询中,经常会用到左连接.右连接.内连接.全连接,那么在R中如何实现这些功能,今天来讲一讲! SQL回顾 原理 # 连接可分为以下几类: 内连接.(典型的连接运算,使用像   =   或   ...

  7. JOIN中的外连接(external join)

    外连接: ---外连接并不要求连接的两表的每一条记录在对方表中都有一条匹配记录.要保留所有记录(甚至这条记录没有匹配的记录也要保留)的表成为保留表.外连接可以一句连接表保 留左表,右表和全部表的行二进 ...

  8. MySQL内连接,左(外)连接,右(外)连接

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

  9. 图解MySQL 内连接、外连接、左连接、右连接、全连接

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

随机推荐

  1. thinphp 整合ueditor

    我的ueditor是部署在public/editor 部署前台页面 <script type="text/javascript" > var UEDITOR_HOME_ ...

  2. Oracle SQL Developer 连接数据库如何对应数据库配置文件

    Oracle SQL Developer 连接数据库如何对应数据库配置文件 1.数据库配置文件 hibernate.connection.url jdbc:oracle:thin:@146.56.35 ...

  3. java中final和static

    final的意思是最终的,最后的额,不可变的,在java中也具有相似的含义. final修饰基础数据表示把该数据修饰成常量,意味着不可修改,不可变. final修饰对象的引用的时候,表示该引用不可变, ...

  4. PageBase 公共基础类

    PageBase 公共基础类 using System; using System.Collections.Generic; using System.Linq; using System.Web; ...

  5. javaWeb事务

    JDBC事务: cmd 命令上的事务开启:  start transaction;   /  begin; 回滚   rollback; 提交    commit; JDBC事务控制: 开启事务:co ...

  6. 【原】spring boot添加cros全局过滤器

    新增一个过滤器类并实现filter接口 public class CorsFilter implements Filter { final static org.slf4j.Logger logger ...

  7. UniCode 下 CString 转 char* 的方法(转)

    转自:http://blog.csdn.net/neverup_/article/details/5664733 今天进行文件操作时,将CString的GetBuffer()后直接倒到char数组后写 ...

  8. 【POJ1151】Atlantis(线段树,扫描线)

    [POJ1151]Atlantis(线段树,扫描线) 题面 Vjudge 题解 学一学扫描线 其实很简单啦 这道题目要求的就是若干矩形的面积和 把扫描线平行于某个轴扫过去(我选的平行\(y\)轴扫) ...

  9. 【BZOJ3931】【CQOI2015】网络吞吐量(最短路,网络流)

    [BZOJ3931][CQOI2015]网络吞吐量(最短路,网络流) 题面 跑到BZOJ上去看把 题解 网络流模板题??? SPFA跑出最短路,重新建边后 直接Dinic就行了 大火题嗷... #in ...

  10. [BZOJ1861][ZJOI2006]书架

    BZOJ Luogu Description 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看 ...