返回顶部
首页 > 资讯 > 数据库 >MySQL中JOIN连接的基本用法有哪些
  • 837
分享到

MySQL中JOIN连接的基本用法有哪些

2023-06-30 18:06:27 837人浏览 泡泡鱼
摘要

这篇文章主要介绍“MySQL中JOIN连接的基本用法有哪些”,在日常操作中,相信很多人在Mysql中JOIN连接的基本用法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中JOIN连接的基本用法

这篇文章主要介绍“MySQL中JOIN连接的基本用法有哪些”,在日常操作中,相信很多人在Mysql中JOIN连接的基本用法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中JOIN连接的基本用法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

join流程详解

join 是指 将两个表连接起来,两个表分别为 驱动表 和 被驱动表。

我们拿下面的这个sql举例,

select t1.id,t2.id  from t1 inner join t2 on t1.id = t2.id  where t1.id > 10;

t1和t2 都对 id 建立了索引,我们假设 t1 是驱动表,t2是被驱动表。

join流程如下:

MySQL每次从t1中读取一行满足过滤条件t1.id>10的记录,如果有索引的话,就利用索引快速定位到表t1中符合t1.id>10的记录。如果没有索引的话,就从头到尾遍历,慢慢的查出表t1中符合t1.id>10的记录。

当从t1中读取到一条记录r1后,就根据连接的条件,也就是 on关键字后的条件,去t2中对应的t2中的记录,将t1的记录和t2的记录组合返回给客户端.

具体的说就是,当从t1中得到一条记录r1的时候,需要根据连接条件 t1.id = t2.id,也就是去t2中查询是否存在记录r2 ,其中r2.id = r1.id。
也就是执行 select t2.id from t2 where t2.id = r1.id

如果有t2的id有索引的话,那么查询速度是很快的,否则就只能全盘扫描了。

就这样,依次的读取t1中符合条件的记录,然后查询t2,直到t1中的记录读取完毕

从上述流程可以看出,join的大致过程就是从驱动表中挨个读取符合条件的记录,然后根据连接条件到被驱动表中找出符合条件的记录,将其组合到一起返回给客户端。

JOIN用于连表查询,主要有5种用法。下面分别演示这5种用法

随便建2张表,结构如下

MySQL中JOIN连接的基本用法有哪些

MySQL中JOIN连接的基本用法有哪些

 字段col1用来使两张表有一个同名字段的(但其实没什么用,因为查询条件都需要用ON来指定,这里只是说明一下如果有相同的字段名也没什么影响)

一、笛卡尔积:CROSS JOIN

CROSS JOIN使两张表的所有字段直接进行笛卡尔积,假设表1有m条数据,表2有n条数据,则结果数量为m*n条

SELECT * FROM tab1 CROSS JOIN tab2

结果

MySQL中JOIN连接的基本用法有哪些

二、内连接:INNER JOIN

内连接需要用ON来指定两张表需要比较的字段,最终结果只显示满足条件的数据

SELECT * FROM tab1 INNER JOIN tab2 ON tab1.id1 = tab2.id2

 结果

MySQL中JOIN连接的基本用法有哪些

注意到内连接只把满足ON条件的数据相连接,与笛卡尔积不同

三、左连接:LEFT JOIN

左连接可以看做在内连接的基础上,把左表中不满足ON条件的数据也显示出来,但结果中的右表部分中的数据为NULL

SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.id1 = tab2.id2

结果

MySQL中JOIN连接的基本用法有哪些

四、右连接:RIGHT JOIN

右连接就是与左连接完全相反

SELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.id1 = tab2.id2

结果

MySQL中JOIN连接的基本用法有哪些

五、全连接:OUTER JOIN

全连接就是左连接和右连接的并集,但是MySQL中并不支持全连接的写法

SELECT * FROM tab1 OUTER JOIN tab2 ON tab1.id1 = tab2.id2

不过可以用UNION联合左连接和右连接的结果来代替

SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.id1 = tab2.id2UNioNSELECT * FROM tab1 RIGHT JOIN tab2 ON tab1.id1 = tab2.id2

结果

MySQL中JOIN连接的基本用法有哪些

到此,关于“MySQL中JOIN连接的基本用法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中JOIN连接的基本用法有哪些

本文链接: https://lsjlt.com/news/330734.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL中JOIN连接的基本用法有哪些
    这篇文章主要介绍“MySQL中JOIN连接的基本用法有哪些”,在日常操作中,相信很多人在MySQL中JOIN连接的基本用法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL中JOIN连接的基本用法...
    99+
    2023-06-30
  • MySQL中JOIN连接的基本用法实例
    目录join流程详解一、笛卡尔积:CROSS JOIN二、内连接:INNER JOIN三、左连接:LEFT JOIN四、右连接:RIGHT JOIN五、全连接:O...
    99+
    2024-04-02
  • mysql中全连接的用法有哪些
    在MySQL中,全连接(Full Join)是一种用于同时返回两个表中所有匹配和不匹配的记录的连接查询操作。全连接操作可以通过以下几...
    99+
    2023-08-16
    mysql
  • join 优化的基本原则有哪些
    这篇文章给大家分享的是有关join 优化的基本原则有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1、join 优化的基本原则:  ...
    99+
    2024-04-02
  • MySQL的基本使用方法有哪些
    今天小编给大家分享一下MySQL的基本使用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。MySQL 是最流行的关系...
    99+
    2023-06-27
  • mysql有哪些基本语法
    下面讲讲关于mysql有哪些基本语法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql有哪些基本语法这篇文章你一定会有所受益。      &...
    99+
    2024-04-02
  • mysql中全连接full join...on...的用法说明
    目录mysql中全连接full join...on...用法mysql中join连接有哪几种?join有哪几种总结mysql中全连接full join...on...用法 大部分开发者可能会困惑,为什么我的sql语句怎么...
    99+
    2023-03-20
    mysql全连接
  • java中static的基本用法有哪些
    在Java中,static关键字有以下几个基本用法:1. 静态变量:使用static修饰的变量称为静态变量,也叫类变量。静态变量在程...
    99+
    2023-09-04
    java static
  • python连接mysql有哪些方法
    Python数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFlymSQL MySQL PostgreSQL Microsoft SQL Server 2000 InformixInterbas...
    99+
    2022-05-29
    python mysql
  • sql语句中join的用法有哪些
    在SQL中,JOIN用于将两个或多个表中的行基于其关联列的值组合在一起。以下是常见的JOIN类型:1. 内连接(INNER JOIN...
    99+
    2023-08-08
    sql join
  • Hibernate的基本用法有哪些
    本篇内容主要讲解“Hibernate的基本用法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hibernate的基本用法有哪些”吧!基本Hibernate数据查询使用Hibernate数据...
    99+
    2023-06-17
  • MySQL多表查询内连接外连接详解,join、left join、right join、full join的使用
    目录 1、多表查询概览 1.1、分类 1.2、外连接的分类 1.3、常用的SQL语法标准 2、内外联接案例 2.1、初始化表 2.2、内连接 2.3、外连接案例 2.4、全连接案例 2.5、union和union all...
    99+
    2023-09-02
    mysql 数据库 java
  • vps基本用法有哪些
    VPS(Virtual Private Server)是一种在物理服务器上划分出的虚拟服务器,具有独立的操作系统、独立的资源和独立的管理权限。下面是VPS基本用法的几个方面:1. 网站托管:可以将网站文件和数据库等数据部署在VPS上,通...
    99+
    2023-08-11
    vps
  • Kotlin 中基本语法有哪些
    这篇文章将为大家详细讲解有关Kotlin 中基本语法有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。基本语法示例实例代码:package com.stone.basic.syntaxcl...
    99+
    2023-05-31
    kotlin
  • MySQL中Join的执行过程有哪些
    今天就跟大家聊聊有关MySQL中Join的执行过程有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  MySQL的Join是如何执行的  joi...
    99+
    2024-04-02
  • mysql有哪些常用的基本语句
    下文我给大家简单讲讲关于mysql有哪些常用的基本语句,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完mysql有哪些常用的基本语句对大家多少有点帮助吧。create user...
    99+
    2024-04-02
  • MySQL的基本操作有哪些
    这篇文章主要介绍了MySQL的基本操作有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL的基本操作有哪些文章都会有所收获,下面我们一起来看看吧。1. pymysql的基本操作# ###&n...
    99+
    2023-06-28
  • Vue3中Typescript的基本使用方法有哪些
    这篇文章主要介绍“Vue3中Typescript的基本使用方法有哪些”,在日常操作中,相信很多人在Vue3中Typescript的基本使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中Ty...
    99+
    2023-06-27
  • Python中range函数的基本用法有哪些
    本篇内容主要讲解“Python中range函数的基本用法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中range函数的基本用法有哪些”吧!1、range() 是什么?它的语法...
    99+
    2023-06-26
  • MySQL字符串连接函数用法有哪些
    这篇文章主要讲解了“MySQL字符串连接函数用法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL字符串连接函数用法有哪些”吧!  MySQL字...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作