0.sql的执行顺序
手写顺序
Mysql--7种Join查询 Mysql 第1张
机读顺序
Mysql--7种Join查询 Mysql 第2张
总结
Mysql--7种Join查询 Mysql 第3张
①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查询 Mysql 第4张
2.数据准备
Mysql--7种Join查询 Mysql 第5张
①C、Z两表共有(交集部分)
Select * from tbl_emp inner join tal
Mysql--7种Join查询 Mysql 第6张
②C、Z共有+C的独有
Mysql--7种Join查询 Mysql 第7张
③ C、Z共有+Z的独有
Mysql--7种Join查询 Mysql 第8张
④C的独有
Mysql--7种Join查询 Mysql 第9张
⑤Z的独有
Mysql--7种Join查询 Mysql 第10张
⑥C的独有+Z的独有
Mysql--7种Join查询 Mysql 第11张
⑦AB全有
Mysql--7种Join查询 Mysql 第12张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。