mysql数据库间的连接(MySQL中表的几种连接方式)
类别:数据库 浏览量:2168
时间:2022-01-28 01:47:40 mysql数据库间的连接
MySQL中表的几种连接方式MySQL表中的连接方式其实非常简单,这里就简单的罗列出他们的特点。
表的连接(JOIN)可以分为内连接(JOIN/INNER JOIN)和外连接(LEFT JOIN/RIGHT JOIN)。
首先我们看一下我们本次演示的两个表:
|
mysql> SELECT * FROM student; + ------+----------+------+------+ | s_id | s_name | age | c_id | + ------+----------+------+------+ | 1 | xiaoming | 13 | 1 | | 2 | xiaohong | 41 | 4 | | 3 | xiaoxia | 22 | 3 | | 4 | xiaogang | 32 | 1 | | 5 | xiaoli | 41 | 2 | | 6 | wangwu | 13 | 2 | | 7 | lisi | 22 | 3 | | 8 | zhangsan | 11 | 9 | + ------+----------+------+------+ 8 rows in set (0.00 sec) mysql> SELECT * FROM class; + ------+---------+-------+ | c_id | c_name | count | + ------+---------+-------+ | 1 | MATH | 65 | | 2 | CHINESE | 70 | | 3 | ENGLISH | 50 | | 4 | HISTORY | 30 | | 5 | BIOLOGY | 40 | + ------+---------+-------+ 5 rows in set (0.00 sec) |
首先,表要能连接的前提就是两个表中有相同的可以比较的列。
1.内连接
|
mysql> SELECT * FROM student INNER JOIN class ON student.c_id = class.c_id; + ------+----------+------+------+------+---------+-------+ | s_id | s_name | age | c_id | c_id | c_name | count | + ------+----------+------+------+------+---------+-------+ | 1 | xiaoming | 13 | 1 | 1 | MATH | 65 | | 2 | xiaohong | 41 | 4 | 4 | HISTORY | 30 | | 3 | xiaoxia | 22 | 3 | 3 | ENGLISH | 50 | | 4 | xiaogang | 32 | 1 | 1 | MATH | 65 | | 5 | xiaoli | 41 | 2 | 2 | CHINESE | 70 | | 6 | wangwu | 13 | 2 | 2 | CHINESE | 70 | | 7 | lisi | 22 | 3 | 3 | ENGLISH | 50 | + ------+----------+------+------+------+---------+-------+ 7 rows in set (0.00 sec) |
简单的讲,内连接就是把两个表中符合条件的行的所有数据一起展示出来,即如果不符合条件,即在表A中找得到但是在B中没有(或者相反)的数据不予以显示。
2.外连接
|
mysql> SELECT * FROM student LEFT JOIN class ON student.c_id = class.c_id; + ------+----------+------+------+------+---------+-------+ | s_id | s_name | age | c_id | c_id | c_name | count | + ------+----------+------+------+------+---------+-------+ | 1 | xiaoming | 13 | 1 | 1 | MATH | 65 | | 2 | xiaohong | 41 | 4 | 4 | HISTORY | 30 | | 3 | xiaoxia | 22 | 3 | 3 | ENGLISH | 50 | | 4 | xiaogang | 32 | 1 | 1 | MATH | 65 | | 5 | xiaoli | 41 | 2 | 2 | CHINESE | 70 | | 6 | wangwu | 13 | 2 | 2 | CHINESE | 70 | | 7 | lisi | 22 | 3 | 3 | ENGLISH | 50 | | 8 | zhangsan | 11 | 9 | NULL | NULL | NULL | + ------+----------+------+------+------+---------+-------+ 8 rows in set (0.00 sec) mysql> SELECT * FROM student RIGHT JOIN class ON student.c_id = class.c_id; + ------+----------+------+------+------+---------+-------+ | s_id | s_name | age | c_id | c_id | c_name | count | + ------+----------+------+------+------+---------+-------+ | 1 | xiaoming | 13 | 1 | 1 | MATH | 65 | | 4 | xiaogang | 32 | 1 | 1 | MATH | 65 | | 5 | xiaoli | 41 | 2 | 2 | CHINESE | 70 | | 6 | wangwu | 13 | 2 | 2 | CHINESE | 70 | | 3 | xiaoxia | 22 | 3 | 3 | ENGLISH | 50 | | 7 | lisi | 22 | 3 | 3 | ENGLISH | 50 | | 2 | xiaohong | 41 | 4 | 4 | HISTORY | 30 | | NULL | NULL | NULL | NULL | 5 | BIOLOGY | 40 | + ------+----------+------+------+------+---------+-------+ 8 rows in set (0.00 sec) |
上面分别展示了外连接的两种情况:左连接和右连接。这两种几乎是一样的,唯一的区别就是左连接的主表是左边的表,右连接的主表是右边的表。而外连接与内连接不同的地方就是它会将主表的所有行都予以显示,而在主表中有,其他表中没有的数据用NULL代替。
总结
到此这篇关于MySQL中表的几种连接方式的文章就介绍到这了,更多相关MySQL表的连接方式内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://segmentfault.com/a/1190000038203698
您可能感兴趣
- mysql的binlog日志详解(MySQL 有关MHA搭建与切换的几个错误log汇总)
- Mysql官方性能测试工具mysqlslap的使用简介(Mysql官方性能测试工具mysqlslap的使用简介)
- mysql sql优化方法(MySQL SQL优化教程之in和range查询)
- mysql中date_format日期格式化
- apache2.4支持php5.5吗(WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置)
- ubuntu20.2安装mysql(Ubuntu 14.04下mysql安装配置教程)
- mysql缓存和redis查询效率(浅谈MySQL与redis缓存的同步方案)
- mysql字符类型长度限制
- mysql查询很慢怎么回事(MySQL Like模糊查询速度太慢如何解决)
- mybatis为什么还用mysql(关于MyBatis连接MySql8.0版本的配置问题)
- mysql显示所有数据库语句(MySQL数据库自动补全命令的三种方法)
- mysql的存储方法(MySQL中的binary类型使用操作)
- mysql的连接代码(MySQL 连接查询的原理和应用)
- mysql自增长语句(mysql实现自增序列的示例代码)
- mysql索引基本知识(MySql索引使用策略分析)
- 2021-10-04 01:06:07
- 男人犯的错,为什么要女人来承担(为什么要女人来承担)
- 心理学 四个金蟾,哪个最招财 测你今生的运势有多棒(心理学四个金蟾)
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
热门推荐
- python怎么进行参数传递(在Python中如何传递任意数量的实参的示例代码)
- php系统化框架教程(PHP+swoole+linux实现系统监控和性能优化操作示例)
- docker容器内服务怎么启动(docker部署confluence的完整步骤)
- mysqldump 命令详解(mysqldump你可能不知道的参数)
- vue3兼容的插件多吗(关于vue3编写挂载DOM的插件问题)
- sql查询过程解析(SQL 联合查询与XML解析实例详解)
- mysql数据表实例教程(mysql数据库入门第一步之创建表)
- mysql密码设置(mysql密码中有特殊字符&在命令行下登录的操作)
- python编程将一个三位数反序输出(python实现整数的二进制循环移位)
- iframe嵌入页面跨域(使用iframe+postMessage实现页面跨域通信的示例代码)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9