两个表:分别是表A和表B

实例表

1.内连接:只返回满足条件的数据

INNER JOIN 实例应用:select * from A INNER JOIN B ON A.A1=B.B1

那么我们会得到这样的数据

内连接INNER JOIN

2.外连接:

外连接又分左外连接和右外连接(左外连接,只返回满足左表的数据【左表数据全部会显示】;右外连接,只返回满足右表的数据【右表数据全部会显示】)

LEFT JOIN 实例应用: select * from A LEFT JOIN B ON A.A1=B.B1

那么我们会得到这样的数据

左外连接LEFT JOIN

RIGHT JOIN实例应用:select * from A RIGHT JOIN B ON A.A1=B.B1

那么我们会得到这样的数据

右外连接RIGHT JOIN

3.完全连接:返回左表和右表所有数据

FULL JOIN 实例应用: select * from A FULL JOIN B ON A.A1=B.B1

那么我们会得到这样的数据

完全连接FULL JOIN

4.笛卡尔积:又称交叉连接,虽然没有实际意义,但某些场景可能应用到

实例应用:select * from A,B

那么我们会得到这样的数据

笛卡尔积(交叉连接)

5.总结:

  • 两表直接笛卡尔积的结果数量是两表的数据量相乘
  • 带where条件id相等的笛卡尔积和inner join结果相同,但是inner join效率快一点
  • left join:TEST_A表的ID为空时拼接TEST_B表的内容为空,right join则相反
  • full join:等于left join和right join的并

mysql表的连接的更多相关文章

  1. MYSQL 表左连接 ON AND 和ON WHERE 的区别

    首先是针对左右连接,这里与inner join区分 在使用left join时,on and 和on where会有区别 1. on的条件是在连接生成临时表时使用的条件,以左表为基准 ,不管on中的条 ...

  2. mysql表查询、多表查询(增强查询的使用)子查询、合并查询,外连接,mysql5种约束,自增长

    一.查询加强 1.在mysql中,日期类型可以直接比较,需要注意格式 2.%:表示0到多个字符, _:表示单个字符 exp:显示第二个字符为大写O的所有员工的姓名和工资 select  name fr ...

  3. Mysql表连接查询

    原文地址: https://www.cnblogs.com/qiuqiuqiu/p/6442791.html 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等 ...

  4. Linux 对mysql远程授权连接操作 和 查看mysql数据库和表 基本命令

    Linux 对mysql远程连接的授权操作 首先linux连接mysql数据库 授权: grant all on *.* to ' with grant option; //允许账户root从任何主机 ...

  5. MySQL表连接原理

    以下文章均来自掘金小测: https://juejin.im/book/5bffcbc9f265da614b11b731/section/5c061b0cf265da612577e0f4 表连接本质: ...

  6. mysql 连接表 内连接 inner

    字段去重  关键字distinct 去除重复记录 可配合分组函数使用 select distinct job,deptno from emp; 未使用 distinct之前 使用后: 笛卡尔积现象:当 ...

  7. MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了.如:某用户表的记录超过了1000万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区 ...

  8. 关于如何在cenos7.0上实现mysql数据库远程连接

    设置mysql允许别的客户机控制的权限 mysql -uroot -p #此处为本地linux帐号密码 select user,host from mysql.user; #查看mysql表对应use ...

  9. MySQL 表与字段编码格式报错

    MySQL 表与字段编码格式报错 一.数据库,表,字段编码格式都为latin1(iso-8859-1) .当数据保存到数据库后,中文显示乱码. 解决办法: 1.在访问数据库连接串中添加编码格式: &l ...

随机推荐

  1. Pandas的DataFrame

    1. 手工创建DataFrame a = [[1, 2, 2],[3,None,6],[3, 7, None],[5,None,7]] data = DataFrame(a) 2. Excel数据数据 ...

  2. EasyNVR摄像机网页无插件直播方案H5前端构建之:如何播放HLS(m3u8)直播流

    背景描述 HLS (HTTP Live Streaming)是Apple的动态码率自适应技术,主要用于PC和Apple终端的音视频服务,包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文 ...

  3. JAVA中List对象去除重复值的方法

    JAVA中List对象去除重复值,大致分为两种情况,一种是List<String>.List<Integer>这类,直接根据List中的值进行去重,另一种是List<Us ...

  4. web page popup window model

    jQuery UI dialog: https://jqueryui.com/dialog/ Semantic UI https://semantic-ui.com/modules/modal.htm ...

  5. java jdbc使用SSH隧道连接mysql数据库demo

    java jdbc使用SSH隧道连接mysql数据库demo   本文链接:https://blog.csdn.net/earbao/article/details/50216999   packag ...

  6. OpenVAS开源风险评估系统部署方案

    OpenVAS,即开放式漏洞评估系统,是一个用于评估目标漏洞的杰出框架.功能十分强大,最重要的是,它是“开源”的——就是免费的意思啦- 它与著名的Nessus“本是同根生”,在Nessus商业化之后仍 ...

  7. Linux内核中的双向链表struct list_head

    一.双向链表list_head Linux内核驱动开发会经常用到Linux内核中经典的双向链表list_head,以及它的拓展接口和宏定义:list_add.list_add_tail.list_de ...

  8. 2019最新版Java程序员零基础入门视频教程资料(全套)

    为了解决Java学习初学者在网上找视频难的事情,本人整理了一份2019年度最新版的Java学习视频教程.希望看到这份视频的你们都能找到一份称心的工作,技术上都能得到进一步的提升,好东西就要分享给你们, ...

  9. Mysql的BigInt(20),Int(20)以及Bigint(32)有区别吗?

    原文: http://stackoverflow.com/questions/3135804/types-in-mysql-bigint20-vs-int20-etcc http://dev.mysq ...

  10. PostgreSQL 参数调整(性能优化)

    昨天分别在外网和无外网环境下安装PostgreSQL,有外网环境下安装的相当顺利.但是在无外网环境下就是两个不同的概念了,可谓十有八折.感兴趣的同学可以搭建一下. PostgreSQL安装完成后第一件 ...