iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中JOIN怎么用
  • 774
分享到

MySQL中JOIN怎么用

2023-06-29 07:06:07 774人浏览 安东尼
摘要

小编给大家分享一下MySQL中JOIN怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!简介A的独有+AB的公有B的独有+AB的公有AB的公有A的独有B的独有A

小编给大家分享一下MySQL中JOIN怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

简介

MySQL中JOIN怎么用

  • A的独有+AB的公有

  • B的独有+AB的公有

  • AB的公有

  • A的独有

  • B的独有

  • A的独有+B的独有+AB的公有

  • A的独有+B的独有

练习

建表

部门表

DROP TABLE IF EXISTS `dept`;CREATE TABLE `dept` (`dept_id` int(11) NOT NULL AUTO_INCREMENT,    `dept_name` varchar(30) DEFAULT NULL,    `dept_number` int(11) DEFAULT NULL,    PRIMARY KEY (`dept_id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;INSERT INTO `dept` VALUES ('1', 'AA', '100');INSERT INTO `dept` VALUES ('2', 'BB', '200');INSERT INTO `dept` VALUES ('3', 'CC', '300');INSERT INTO `dept` VALUES ('4', 'DD', '400');INSERT INTO `dept` VALUES ('5', 'HH', '500');

员工表

DROP TABLE IF EXISTS `emp`;CREATE TABLE `emp` (    `emp_id` int(11) NOT NULL AUTO_INCREMENT,    `emp_name` varchar(30) DEFAULT NULL,    `emp_age` int(11) DEFAULT NULL,    `dept_id` int(11) NOT NULL,    PRIMARY KEY (`emp_id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;INSERT INTO `emp` VALUES('1', 'zhangsan', '20', '1');INSERT INTO `emp` VALUES('2', 'lisi', '25', '6');INSERT INTO `emp` VALUES('3', 'wangwu', '19', '4');INSERT INTO `emp` VALUES('4', 'zhaoliu', '29', '5');INSERT INTO `emp` VALUES('5', 'xiaohong', '30', '2');INSERT INTO `emp` VALUES('6', 'xiaohu', '26', '3');INSERT INTO `emp` VALUES('7', 'zhangle', '23', '3');INSERT INTO `emp` VALUES('8', 'qingtian', '38', '3');INSERT INTO `emp` VALUES('9', 'xiayutian', '36', '2');INSERT INTO `emp` VALUES('10', 'fangjia', '40', '1');
情景分析

1.左连接(left join)

A的独有+AB的公有

SELECT * from emp e LEFT JOIN dept d ON e.dept_id=d.dept_id;

MySQL中JOIN怎么用

2.右连接(right join)

B的独有+AB的公有

SELECT * from emp e RIGHT JOIN dept d ON e.dept_id=d.dept_id;

MySQL中JOIN怎么用

3.内连接(inner join)

AB的公有

SELECT * from emp e INNER JOIN dept d ON e.dept_id=d.dept_id;

MySQL中JOIN怎么用

4.左外连接(left join且右表=null)

A的独有

SELECT * from emp e LEFT JOIN dept d ON e.dept_id=d.dept_id WHERE d.dept_id is null;

MySQL中JOIN怎么用

5. 右外连接(right join且左表=null)

B的独有

SELECT * from emp e RIGHT JOIN dept d ON e.dept_id=d.dept_id WHERE e.dept_id is null;

MySQL中JOIN怎么用

6. 全连接(full outer join)

A的独有+B的独有+AB的公有

注意:Mysql不支持FULL OUTER JOIN(在oracle支持)。

因此使用UNION的方式来实现,可以**合并+去重**

应用场景:

要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时

特点:

要求多条查询语句的查询列数是一致的

要求多条查询语句的查询的每一列的类型和顺序最好一致

union关键字**默认去重,如果使用union all 可以包含重复项**

SELECT * from emp e LEFT JOIN dept d ON e.dept_id=d.dept_id UNION SELECT * FROM emp e RIGHT JOIN dept d ON e.dept_id=d.dept_id;

MySQL中JOIN怎么用

7. 全外连接(full outer join且左右表=null)

A的独有+B的独有

SELECT * from emp e LEFT JOIN dept d ON e.dept_id=d.dept_id WHERE d.dept_id is null UNION SELECT * FROM emp e RIGHT JOIN dept d ON e.dept_id=d.dept_id WHERE e.dept_id is null;

MySQL中JOIN怎么用

以上是“mysql中JOIN怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中JOIN怎么用

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL中JOIN怎么用
    小编给大家分享一下MySQL中JOIN怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!简介A的独有+AB的公有B的独有+AB的公有AB的公有A的独有B的独有A...
    99+
    2023-06-29
  • mysql中join和on怎么用
    小编给大家分享一下mysql中join和on怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 用...
    99+
    2024-04-02
  • mysql中的join、left join和right join的用法
    本篇内容介绍了“mysql中的join、left join和right join的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大...
    99+
    2024-04-02
  • 怎么在Mysql中利用join优化sql
    怎么在Mysql中利用join优化sql?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。0. 准备相关表来进行接下来的测试user1表,取经...
    99+
    2024-04-02
  • mysql中join的用法
    mysql 中 join 操作通过将不同表相关行组合,检索相互关联的数据。join 类型包括 inner join(仅返回存在于所有表中的行)、left join(返回左表所有行和匹配右...
    99+
    2024-05-01
    mysql
  • MySQL中join语句怎么优化
    目录Simple Nested-Loop Joinblock Nested-Loop JoinIndex Nested-Loop Join如何选择驱动表?Simple Nested-Loop Join 我们来看一下当进行...
    99+
    2023-03-03
    MySQLjoin优化 MySQLjoin语句
  • mysql中inner join和left join如何使用
    这篇文章主要介绍“mysql中inner join和left join如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql中inner join和left&...
    99+
    2023-07-05
  • MySQL中怎么实现多表join
    这篇文章将为大家详细讲解有关MySQL中怎么实现多表join,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Join并行Join并行1. 多表join介绍2....
    99+
    2024-04-02
  • mysql中全连接full join...on...怎么使用
    这篇文章主要讲解了“mysql中全连接full join...on...怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql中全连接full join...o...
    99+
    2023-07-05
  • mysql中join的作用是什么
    这篇文章主要介绍“mysql中join的作用是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql中join的作用是什么”文章能帮助大家解决问题。 ...
    99+
    2022-11-30
    mysql join
  • MySql中如何使用JOIN
    这篇文章将为大家详细讲解有关MySql中如何使用JOIN,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JOIN的含义就如英文单词“join”一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连...
    99+
    2023-06-29
  • mysql中的join是什么
    mysql 中的 join 是用于组合不同表数据的查询命令,它通过匹配列创建临时表。join 有四种类型:inner join(仅匹配两表中都存在的行)、left join(选择左表所有...
    99+
    2024-04-29
    mysql
  • python中join怎么使用
    在Python中,`join()`是字符串的一个方法,用于将字符串序列中的元素以指定的分隔符连接起来。它的基本语法如下:```pyt...
    99+
    2023-09-05
    python join
  • thinkphp5中的join怎么用
    本篇内容主要讲解“thinkphp5中的join怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“thinkphp5中的join怎么用”吧!在thinkphp5中,join用于根据两个或者多个...
    99+
    2023-06-30
  • sql中join on怎么用
    sql 中的 join on 将多张表中记录基于共同字段组合在一起,用法如下:定义 join 类型:inner join、left join、right join指定比较运算符:=、&g...
    99+
    2024-05-08
  • sql中inner join怎么用
    这篇文章给大家分享的是有关sql中inner join怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。sql中inner join的用法inner join是多表连接关键字。...
    99+
    2024-04-02
  • javascript中join怎么使用
    这篇文章主要讲解了“javascript中join怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript中join怎么使用”吧! ...
    99+
    2024-04-02
  • MySQL优化器hash join怎么使用
    今天小编给大家分享一下MySQL优化器hash join怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2024-04-02
  • HIVE中left semi join怎么用
    这篇文章主要介绍了HIVE中left semi join怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 实验:hive> select * f...
    99+
    2023-06-03
  • VBScript中Join函数怎么用
    小编给大家分享一下VBScript中Join函数怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Join 函数 返回一个字符串,此字符串由包含在数组...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作