笔者的MySql学习之旅
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,下文内容主要给大家带来笔者的MySql学习之旅,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。前提:创建两个关系表:
千家信息网最后更新 2026年11月01日笔者的MySql学习之旅
下文内容主要给大家带来笔者的MySql学习之旅,这里所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
前提:创建两个关系表:
CREATE TABLE t_blog( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(50), typeId INT);CREATE TABLE t_type( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20));
表数据如下:

1、获取A、B公有部分

MySql提供一种内连接的方式来获取A、B两表中均符合on表达式的数据:
mysql> select * from t_blog b inner join t_type t on b.typeId = t.id;+----+-------------------+--------+----+-------+| id | title | typeId | id | name |+----+-------------------+--------+----+-------+| 1 | java基础类型 | 1 | 1 | JAVA || 2 | java编程思想 | 1 | 1 | JAVA || 3 | java从入门到放弃 | 1 | 1 | JAVA || 4 | C语言精讲 | 2 | 2 | C || 5 | C语言从入门到放弃 | 2 | 2 | C || 6 | mysql基础 | 4 | 4 | MYSQL |+----+-------------------+--------+----+-------+6 rows in set
通过内连接,blog中的"图解http"数据和type表中的"C++"数据都被过滤
2、A的独有及AB共有
使用左外连获取A所有的数据,筛选出B表中符合on表达式的数据,不符合的数据B表相应字段补NULL
mysql> select * from t_blog b left join t_type t on b.typeId = t.id;+----+-------------------+--------+------+-------+| id | title | typeId | id | name |+----+-------------------+--------+------+-------+| 1 | java基础类型 | 1 | 1 | JAVA || 2 | java编程思想 | 1 | 1 | JAVA || 3 | java从入门到放弃 | 1 | 1 | JAVA || 4 | C语言精讲 | 2 | 2 | C || 5 | C语言从入门到放弃 | 2 | 2 | C || 6 | mysql基础 | 4 | 4 | MYSQL || 7 | 图解http | NULL | NULL | NULL |+----+-------------------+--------+------+-------+7 rows in set
通过左外连,左表中所有的数据都被查询出来,右表独有的"C++"数据被过滤,左表独有的"图解http"数据的右表位置补了NULL。
3、B独有及AB共有
同上,使用右外连,过滤掉A表中不符合on条件的数据,查询出所有B表中的数据,A表不满足的字段会补NULL;
mysql> select * from t_blog b right join t_type t on b.typeId = t.id;+------+-------------------+--------+----+-------+| id | title | typeId | id | name |+------+-------------------+--------+----+-------+| 1 | java基础类型 | 1 | 1 | JAVA || 2 | java编程思想 | 1 | 1 | JAVA || 3 | java从入门到放弃 | 1 | 1 | JAVA || 4 | C语言精讲 | 2 | 2 | C || 5 | C语言从入门到放弃 | 2 | 2 | C || NULL | NULL | NULL | 3 | C++ || 6 | mysql基础 | 4 | 4 | MYSQL |+------+-------------------+--------+----+-------+7 rows in set
通过右外连,右表中的数据全部被查出,独有的"C++"数据左表位置补了NULL,过滤掉左表的"图解http"数据
4、A独有
已知通过左外连,会得到A的独有及AB共有,在A的独有部分,B表位置会补NULL,也就是说,左外连结果中B为NULL的数据就是A的独有
mysql> select * from t_blog b left join t_type t on b.typeId = t.id where t.name is null;+----+----------+--------+------+------+| id | title | typeId | id | name |+----+----------+--------+------+------+| 7 | 图解http | NULL | NULL | NULL |+----+----------+--------+------+------+1 row in set
5、B独有
同上,右外连会获取B 的独有及AB共有,在B独有部分,A表位置会补NULL,也就是说左外连结果中A表为NULL的数据就是B的独有
mysql> select * from t_blog b right join t_type t on b.typeId = t.id where b.title is null;+------+-------+--------+----+------+| id | title | typeId | id | name |+------+-------+--------+----+------+| NULL | NULL | NULL | 3 | C++ |+------+-------+--------+----+------+1 row in set
6、求并集
MySql中提供"union"命令求并集,并且自动去重。如果对面表没有匹配,则补NULL
mysql> select * from t_blog b left join t_type t on b.typeId = t.id -> union -> select * from t_blog b right join t_type t on b.typeId = t.id;+------+-------------------+--------+------+-------+| id | title | typeId | id | name |+------+-------------------+--------+------+-------+| 1 | java基础类型 | 1 | 1 | JAVA || 2 | java编程思想 | 1 | 1 | JAVA || 3 | java从入门到放弃 | 1 | 1 | JAVA || 4 | C语言精讲 | 2 | 2 | C || 5 | C语言从入门到放弃 | 2 | 2 | C || 6 | mysql基础 | 4 | 4 | MYSQL || 7 | 图解http | NULL | NULL | NULL || NULL | NULL | NULL | 3 | C++ |+------+-------------------+--------+------+-------+8 rows in set
7、求差集
所谓差集就是A的独有和B 的独有的并集
mysql> select * from t_blog b left join t_type t on b.typeId = t.id where t.name is null -> union -> select * from t_blog b right join t_type t on b.typeId = t.id where b.title is null;+------+----------+--------+------+------+| id | title | typeId | id | name |+------+----------+--------+------+------+| 7 | 图解http | NULL | NULL | NULL || NULL | NULL | NULL | 3 | C++ |+------+----------+--------+------+------+2 rows in set
对于以上关于笔者的MySql学习之旅,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。
数据
基础
语言
C++
位置
思想
类型
编程
就是
部分
之旅
笔者
学习
专业
也就是
也就是说
字段
差集
知识
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司起名
互联网通讯科技
互联网下的科技发展
朗新科技与工业互联网
互联网与未来科技
亿策互联网科技
北京互联网络科技有限公司
万达互联网科技
掌上梦互联网科技
互联网科技公司介绍
互联网科技有限公司 翻译
互联网 科技馆
互联网科技寓意
苏州五指互联网络科技有限
用友工业互联网科技发展
昆明中奇联合互联网科技
银川新华互联网科技学校是国营吗
互联网时代高科技布局
互联网的黑科技实验室
现代科技的标志之一的互联网
西安纸贵互联网科技有限公司
鸠鸠互联网科技
喔噻互联网科技
为想互联网科技
互联网科技素材视频竖屏
互联网对科技的发展
互联网5g黑科技有哪些
互联网公司黑科技创始人
小米互联网科技园入驻
吉林省码上互联网科技电话