1.首先准备两张表

部门表:

  

员工表:

  

以下我们就对这两张表进行不同的连接操作

1.内连接

  作用: 查询两张表的共有部分

   语句:Select <select_list> from tableA A Inner join tableB B on A.Key = B.Key

   示例:SELECT * from employee e INNER JOIN department d on e.dep_id = d.id;
   结果显示:通过这个查找的方法,我们没有查到id为8的数据

     

2.左连接

    作用:把左边表的内容全部查出,右边表只查出满足条件的记录

  语句:Select <select_list> from tableA A Left Join tableB B on A.Key = B.Key  

  示例:SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id;

  结果显示:

    

3.右连接

   作用:把右边表的内容全部查出,左边表只查出满足条件的记录

  语句:Select <select_list> from tableA A Left Join tableB B on A.Key = B.Key

  示例:SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id;
  结果显示:

    

4.查询左表独有数据

  作用:查询A的独有数据

  语句:Select <select_list> from tableA A Left Join tableB B on A.Key = B.Key where B.key IS NULL   

  示例:SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id WHERE d.id IS NULL;
  结果显示:

    

5.查询右表独有数据

  作用:查询B的独有数据

  语句:Select <select_list> from tableA A Right Join tableB B on A.Key = B.Key where A.key IS NULL   

  示例:SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id WHERE e.id IS NULL;

  结果显示:

    

6.全连接

   作用:查询两个表的全部信息

  语句:Select <select_list> from tableA A Full Outter Join tableB B on A.Key = B.Key

  注:Mysql 默认不支持此种写法 Oracle支持       可以使用将左连接与右连接结合起来作为全连接

  示例:

    SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id

    UNION

    SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id

  结果显示:

    

 7.查询左右表各自的独有的数据

  作用:查询A和B各自的独有的数据

  语句:Select <select_list> from tableA A Full Outter Join tableB B on A.Key = B.Key where A.key = null or B.key=null    

  示例:
    SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id WHERE d.id is NULL

    UNION

    SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id WHERE e.dep_id is NULL

  结果显示:

    

转载于:https://www.cnblogs.com/pcliu/p/11099761.html

Mysql常用的几种join连接方式相关推荐

  1. MySQL内连接方法_Mysql常用的几种join连接方式

    1.首先准备两张表 部门表: 员工表: 以下我们就对这两张表进行不同的连接操作 1.内连接 作用: 查询两张表的共有部分 语句:Select from tableA A Inner join tabl ...

  2. mysql凡人入门_3种PHP连接MYSQL数据库的常用方法

    对于PHP入门用户来说,我们只要掌握基本的数据库写入.读取.编辑.删除等基本的操作就算入门,也可以写出简单的程序出来,比如留言本.新闻文章系统等等. 在整个过程中,MySQL数据库的连接也是比较重要的 ...

  3. oracle 表连接 大表小表_优化必备基础:Oracle中常见的三种表连接方式

    在Oracle SQL语句中,如果from后面有多个表时,表的连接方式是一个很重要的考量. 从Oracle 6开始,优化器就支持下面4种表连接方式: - 嵌套循环连接(Nested Loop Join ...

  4. 图解 5 种 Join 连接及实战案例!(inner/ left/ right/ full/ cross)

    转载自 图解 5 种 Join 连接及实战案例!(inner/ left/ right/ full/ cross) Join 连接在日常开发用得比较多,但大家都搞清楚了它们的使用区别吗??一文带你上车 ...

  5. MySQL 异常:这一篇就够了,MySQL 抛出异常的几种常见解决方式小结

    Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connectio ...

  6. VirtualBox虚拟机几种网络连接方式介绍

    为了学习和使用Linux,多数人选择了使用VirtualBox虚拟机的方式来安装Linux系统.VirtualBox提供了多种网络连接方式,不同的网络连接方式决定了虚拟机是否可以联网,以及是否可以和宿 ...

  7. 浅谈常用的几种web攻击方式以及解决办法

    身在互联网的时候,web在给我们带来便利的同时,有些人也在盯着这些便利,因此出现了攻击网站的现象.所以我们在开发的时候,要注意这些容易被攻击的地方,以及做好防御的措施,下面将介绍一些这些 常见的攻击手 ...

  8. Android4种网络连接方式的比较

    比较的指标: 1.cpu 2.流量 3.电量 4.内存占用 5.联网时间 功能点: 1.重试机制 2.提供的扩展功能 3.易用性 4.是否https 5.是否支持reflect api,OkHttp有 ...

  9. 虚拟机几种网络连接方式的区别

    虚拟机,不论是VirtualBox还是VMWare,都提供了几种网络连接方式,其中包括了桥接(Bridged).网络地址翻译(NAT)和主机模式(Host-only). 桥接(Bridged)相当于在 ...

最新文章

  1. kafka源码分析(二)Metadata的数据结构与读取、更新策略
  2. opencv3.4.1 vs2017 鼠标停在 Mat 上 vs卡死
  3. Java的三种代理模式简述
  4. c#事件,委托机制(转)
  5. python requests编码的问题_python requests 编码问题
  6. 反射 getDeclaredMethod和getMethod的区别以及用法《实例》
  7. mysql中表的约束,主键外键唯一键
  8. 实验4.2 实现客户机(CLIENT)类
  9. 用户的大量数据保存在计算机的,计算机基础理论复习题
  10. 展示浏览 java_java利用 cookie 进行展示你所浏览过的的商品
  11. 数据分析之pandas-profiling
  12. dls 深度受限搜索java_JAVA深入学习(栈和队列)之栈
  13. 将文件夹下所有csv文件转换成所有txt
  14. 孔子称他为贤,孟子尊他为圣,柳下惠何德何能?2700年家谱揭露真相
  15. 有一个小于500的三位数abc,对于这三个数,甲乙丙丁有如下说法:.......................请问2a+b-c等于多少?
  16. Android Studio Buid缓慢问题
  17. 2021深育杯MISC超详细WP
  18. ASP.NET c# 实验日记(1)
  19. 智能穿戴开发需要什么技术_可穿戴技术–可穿戴应用开发技术
  20. 2020.4.29华为笔试【华为校园招聘 软件】

热门文章

  1. UVa1368 - DNA Consensus String
  2. java+jdk+1.6.0+45+64_jdk1.6.0_45.tar.gz
  3. uml边界类例子_面向对象UML笔记
  4. c++低通数字滤波器_快速扫盲之一阶RC低通数字滤波器算法实现
  5. python如何与其他软件交互_如何与Python中的另一个程序交互?
  6. [leetcode]190. 颠倒二进制位
  7. 稀疏矩阵------三元组存储---笔记
  8. ZOJ 3983 2017CCPC秦皇岛 C:Crusaders Quest
  9. bzoj 1622: [Usaco2008 Open]Word Power 名字的能量
  10. 2017 Multi-University Training Contest - Team 7:1010. Just do it(组合数?)