欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql--7种Join查询

程序员文章站 2022-04-12 13:05:25
0.sql的执行顺序 手写顺序 机读顺序 总结 ①From:对from左边的表和右边的表计算笛卡尔积,产生虚拟表c1 ②On:对c1中的数据进行on过滤,只有符合过滤条件的数据记录才会记录在虚拟表c2中 ③Join:若指定了连接条件(left、right),主表中的未匹配的行就会作为外部行添加到c2 ......

0.sql的执行顺序
手写顺序
Mysql--7种Join查询
机读顺序
Mysql--7种Join查询
总结
Mysql--7种Join查询
①from:对from左边的表和右边的表计算笛卡尔积,产生虚拟表c1
②on:对c1中的数据进行on过滤,只有符合过滤条件的数据记录才会记录在虚拟表c2中
③join:若指定了连接条件(left、right),主表中的未匹配的行就会作为外部行添加到c2中,生成虚拟表c3
④where:对虚拟表c3中的数据进行条件过滤,符合过滤条件的记录插入到虚拟表c4中
⑤group by:根据group by子句中的列,对c4中的记录进行分组操作,生成c5
⑥having:对虚拟表c5中的记录进行having过滤,符合筛选条件的记录插入虚拟表c6中
⑦select:执行select操作,选择指定的列,插入到虚拟表c7中
⑧distinct:对c7中的数据去重,生成虚拟表c8
⑨order by:对虚拟表c8中的数据按照指定的排序规则进行排序,生成虚拟表c9
⑩limit:取出指定的记录,产生虚拟表c10,将结果返回
1.join图
Mysql--7种Join查询
2.数据准备
Mysql--7种Join查询
①c、z两表共有(交集部分)
select * from tbl_emp inner join tal
Mysql--7种Join查询
②c、z共有+c的独有
Mysql--7种Join查询
③ c、z共有+z的独有
Mysql--7种Join查询
④c的独有
Mysql--7种Join查询
⑤z的独有
Mysql--7种Join查询
⑥c的独有+z的独有
Mysql--7种Join查询
⑦ab全有
Mysql--7种Join查询