广告
返回顶部
首页 > 资讯 > 数据库 >mysql内连接和外连接有哪些区别
  • 343
分享到

mysql内连接和外连接有哪些区别

mysql 2022-10-19 02:10:59 343人浏览 泡泡鱼
摘要

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

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

mysql内连接和外连接的区别:内连接会取出连接表中匹配到的数据,匹配不到的不保留;而外连接会取出连接表中匹配到的数据,匹配不到的也会保留,其值为NULL。

mysql内连接和外连接有哪些区别

教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

区别

  • 内连接(inner join):取出连接表中匹配到的数据,匹配不到的不保留

  • 外连接(outer join):取出连接表中匹配到的数据,匹配不到的也会保留,其值为NULL

示例表

users表

mysql> select * from users;
+----+-------+
| id | name  |
+----+-------+
|  1 | john  |
|  2 | May   |
|  3 | Lucy  |
|  4 | Jack  |
|  5 | James |
+----+-------+
5 rows in set (0.00 sec)

topics表

mysql> select * from topics;
+----+---------------------------------------+---------+
| id | title                                 | user_id |
+----+---------------------------------------+---------+
|  1 |  Hello world                          |       1 |
|  2 | PHP is the best language in the world |       2 |
|  3 | Laravel artist                        |       6 |
+----+---------------------------------------+---------+
3 rows in set (0.00 sec)

内连接(inner join)

  • 示例

mysql> select * from users as u inner join topics as t on u.id=t.user_id;
+----+------+----+---------------------------------------+---------+
| id | name | id | title                                 | user_id |
+----+------+----+---------------------------------------+---------+
|  1 | john |  1 |  Hello world                          |       1 |
|  2 | May  |  2 | php is the best language in the world |       2 |
+----+------+----+---------------------------------------+---------+
2 rows in set (0.00 sec)

inner可以省略,as是给表起别名,也可以省略

mysql> select * from users u join topics t on u.id=t.user_id;
+----+------+----+---------------------------------------+---------+
| id | name | id | title                                 | user_id |
+----+------+----+---------------------------------------+---------+
|  1 | john |  1 |  Hello world                          |       1 |
|  2 | May  |  2 | PHP is the best language in the world |       2 |
+----+------+----+---------------------------------------+---------+
2 rows in set (0.00 sec)

以上两句等价于

mysql> select * from users,topics where users.id=topics.user_id;
+----+------+----+---------------------------------------+---------+
| id | name | id | title                                 | user_id |
+----+------+----+---------------------------------------+---------+
|  1 | john |  1 |  Hello world                          |       1 |
|  2 | May  |  2 | PHP is the best language in the world |       2 |
+----+------+----+---------------------------------------+---------+
2 rows in set (0.00 sec)

外连接(outer join)

  • 左外连接(left outer join):以左边的表为主表

  • 右外连接(right outer join):以右边的表为主表

以某一个表为主表,进行关联查询,不管能不能关联的上,主表的数据都会保留,关联不上的以NULL显示

通俗解释就是:先拿出主表的所有数据,然后到关联的那张表去找有没有符合关联条件的数据,如果有,正常显示,如果没有,显示为NULL

示例

mysql> select * from users as u left join topics as t on u.id=t.user_id;
+----+-------+------+---------------------------------------+---------+
| id | name  | id   | title                                 | user_id |
+----+-------+------+---------------------------------------+---------+
|  1 | john  |    1 |  Hello world                          |       1 |
|  2 | May   |    2 | PHP is the best language in the world |       2 |
|  3 | Lucy  | NULL | NULL                                  |    NULL |
|  4 | Jack  | NULL | NULL                                  |    NULL |
|  5 | James | NULL | NULL                                  |    NULL |
+----+-------+------+---------------------------------------+---------+
5 rows in set (0.00 sec)

等价于以下,只是字段的位置不一样

mysql> select * from topics as t right join users as u on u.id=t.user_id;
+------+---------------------------------------+---------+----+-------+
| id   | title                                 | user_id | id | name  |
+------+---------------------------------------+---------+----+-------+
|    1 |  Hello world                          |       1 |  1 | john  |
|    2 | PHP is the best language in the world |       2 |  2 | May   |
| NULL | NULL                                  |    NULL |  3 | Lucy  |
| NULL | NULL                                  |    NULL |  4 | Jack  |
| NULL | NULL                                  |    NULL |  5 | James |
+------+---------------------------------------+---------+----+-------+
5 rows in set (0.00 sec)

左外连接和右外连接是相对的,主要就是以哪个表为主表去进行关联

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

您可能感兴趣的文档:

--结束END--

本文标题: mysql内连接和外连接有哪些区别

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql内连接和外连接有哪些区别
    这篇文章主要介绍“mysql内连接和外连接有哪些区别”,在日常操作中,相信很多人在mysql内连接和外连接有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql内...
    99+
    2022-10-19
    mysql
  • 内连接和外连接的区别
    SQL数据库的连接:内连接、和外连接(左外连接、右外连接、和全连接) 本次实验在MySQL数据库中进行,数据库初始表如下 一、内连接:结果仅包含符合连接条件的两表中的行。如下二、外连接:结果包含符合条件的行...
    99+
    2022-10-18
    内连接和外连接的区别 外连
  • sql中左连接、右连接、内连接、全外连接对比有哪些区别
    小编给大家分享一下sql中左连接、右连接、内连接、全外连接对比有哪些区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!区别:左连接返回包括左表中的所有记录和右表中连接字段相等的记录;右连接...
    99+
    2022-10-18
    sql
  • Mysql内连接与外连接的区别详解
    目录前言内连接inner join外连接outer join左(外)连接 left join右(外)连接 right join总结前言 我在写sql查询的时候,用的最多的就是where条件查询,这种查询也叫内连...
    99+
    2023-01-28
    mysql内外连接 mysql内外连接区别 mysql左连接和右连接的区别
  • SQL中内连接和外连接的区别
    在这篇文章中,我们将了解 SQL 中内连接和外连接的区别。内连接子句使用的是“INNER JOIN”和“JOIN”。它返回两个或多个表的组合元组。当没有共同属性时,结果为空。如果元组数量较多,则“INNER JOIN”比“OUTER”工作得...
    99+
    2023-10-22
  • mysql中外连接与内连接查询有什么区别
    mysql中外连接与内连接查询有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。左外连接左外连接的结果集包含左表的所有记录和右表中满足连接条件的记录,结果...
    99+
    2023-06-15
  • MySQL数据库左连接和右连接有哪些区别
    这篇文章主要介绍了MySQL数据库左连接和右连接有哪些区别,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。数据库中的左连接和右连接的区别可以概括为...
    99+
    2022-10-18
    mysql
  • sql的左连接和右连接有哪些区别
    这篇文章主要介绍sql的左连接和右连接有哪些区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!sql的左连接和右连接区别:1、左连接只要左边表中有记录,数据就能检索出来,而右连接是只...
    99+
    2022-10-18
    sql
  • 详解MySQL的内连接和外连接
    mysql 中的内连接、左外连接和右外连接是用于连接两个或多个表的不同方式,它们之间的区别如下: 内连接(Inner Join): 内连接也称为等值连接,只返回两个表中键值匹配的行,即只有在两个表中都有匹配的数据时才会返...
    99+
    2023-05-06
    MySQL内连接 MySQL外连接
  • mysql左连接和右连接有什么区别
    本篇文章为大家展示了mysql左连接和右连接有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、区别左连接,以左表为参照,显示所有数据,右表中没有则以null显示右连接,以右表为参照显示数据...
    99+
    2023-06-14
  • 【MySQL】MySQL内连接和外连接详细总结
    目录 多表查询的分类3:内连接VS外连接(重难点)1. 内连接2.外连接3. SQL99语法实现多表查询3.1 SQL99实现内连接3.2 SQL99语法实现外连接3.2.1 左外连...
    99+
    2023-09-04
    mysql 数据库 java sql
  • MySQL内外连接
    目录 前言 1.内连接 2.外连接 2.1左外连接 2.2右外连接 总结 前言         hello,各位小伙伴,大家好,很高兴又和大家见面了,本篇文章为大家介绍的是MySQL中对多张表进行操作的时候要进行多表连接,而连接的方式...
    99+
    2023-09-15
    mysql 数据库
  • 详解MySql自连接,外连接,内连接 ,左连接,右连接
    目录基础介绍1,自连接2,外连接3,左连接4,右连接具体实战1,左连接2,右连接3,自连接4,内连接基础介绍 今天我跟大家把我理解的这一块全面的介绍下,配有sql语句送给大家。首先来给大家做个这一块的介绍: 1,自连接 ...
    99+
    2022-08-24
    MySql自连接 MySq外连接 MySq内连接 MySq左连接 MySq右连接
  • 详解MySql自连接,外连接,内连接 ,左连接,右连接
    目录基础介绍1,自连接2,外连接3,左连接4,右连接具体实战1,左连接2,右连接3,自连接4,内连接基础介绍 今天我跟大家把我理解的这一块全面的介绍下,配有sql语句送给大家。首先来...
    99+
    2022-11-13
    MySql自连接 MySq外连接 MySq内连接 MySq左连接 MySq右连接
  • mysql外连接类型有哪些
    本篇内容主要讲解“mysql外连接类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql外连接类型有哪些”吧!1、左外连接将左表中要丢弃的记录保留在结果集中,右表中对应的部分用nul...
    99+
    2023-06-20
  • MySQL中的连接操作:内连接、外连接和交叉连接详解
    MySQL中的连接操作:内连接、外连接和交叉连接详解在MySQL数据库中,连接操作是一种常用的操作技术,用于将两个或多个表中的数据按照一定的条件进行合并。连接操作可以帮助我们处理复杂的数据查询和分析需求。在MySQL中,我们通常使用内连接、...
    99+
    2023-10-22
    连接操作 内连接 外连接
  • 怎样区分左外连接,右外连接和全外连接
    这篇文章主要介绍怎样区分左外连接,右外连接和全外连接,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!左外连接会返回包括左表中的所有记录和右表中连接字段相等的记录;右表没数据则为null...
    99+
    2022-10-18
    左外连接 右外连接 全外连接
  • MySQL中左连接/右连接/等值连接有什么区别
    这篇文章给大家分享的是有关MySQL中左连接/右连接/等值连接有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。从业以来,发现很多技术人员和同事向笔者或是在网络上咨询过LE...
    99+
    2022-10-19
    mysql
  • 【MySQL系列】表的内连接和外连接学习
    「前言」文章内容大致是对MySQL表的内连接和外连接。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、内连接二、外连接2.1 左外连接2.2 右外连接 一、内连接 内连接实际...
    99+
    2023-08-30
    mysql android 数据库
  • mysql 连接查询(俗称连表查询)内连接、外连接、自然连接
    连接查询的分类 本文讨论中用到的测试数据``create table student(id int primary key auto_increment,name varchar(10));ins...
    99+
    2022-10-18
    mysql 连表 查询
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作