4.1表的加减法
4.1.1 什么是集合运算
4.1.2 表的加法–UNION
4.1.2.1 UNION
4.1.2.2UNION 与 OR 谓词
4.1.2.3 包含重复行的集合运算 UNION ALL
4.1.2.4[扩展阅读]bag 模型与 set 模型
4.1.2.5隐式类型转换
4.1.3 MySQL 8.0 不支持交运算INTERSECT
4.1.3.1[扩展阅读]bag 的交运算
4.1.4 差集,补集与表的减法
4.1.4.1 MySQL 8.0 还不支持 EXCEPT 运算
4.1.4.2 EXCEPT 与 NOT 谓词
4.1.4.3EXCEPT ALL 与bag 的差
4.1.4.4INTERSECT 与 AND 谓词
4.1.5对称差
4.1.5.1借助并集和差集迂回实现交集运算 INTERSECT
4.2连结(JOIN)
4.2.1 内连结(INNER JOIN)
4.2.1.1 使用内连结从两个表获取信息
4.2.1.2 结合 WHERE 子句使用内连结
4.2.1.3结合 GROUP BY 子句使用内连结
4.2.1.4自连结(SELF JOIN)
4.2.1.5内连结与关联子查询
4.2.1.6自然连结(NATURAL JOIN)
4.2.1.7使用连结求交集
4.2.2 外连结(OUTER JOIN)
4.2.2.1 左连结与右连接
4.2.2.2 使用左连结从两个表获取信息
4.2.2.3结合 WHERE 子句使用左连结
4.2.2.4在 MySQL 中实现全外连结
4.2.3多表连结
4.2.3.1 多表进行内连结
4.2.3.2多表进行外连结
4.2.4ON 子句进阶–非等值连结
4.2.4.1非等值自左连结(SELF JOIN)
4.2.5 交叉连结—— CROSS JOIN(笛卡尔积)
4.2.5.1[扩展阅读]连结与笛卡儿积的关系
4.2.6 连结的特定语法和过时语法
练习题
4.1
4.2
4.3
4.4
4.5
SQL训练营页面地址:https://tianchi.aliyun.com/specials/promotion/aicampsql
天池龙珠计划训练营地址:https://tianchi.aliyun.com/specials/promotion/aicamps
union取并集:
SELECT product_id, product_name
FROM product
UNION
SELECT product_id, product_name
FROM product2;
union和or得到相同的结果
包含重复行的集合运算 UNION ALL
隐式类型转换
MySQL 8.0 不支持交运算INTERSECT
但是可以用and实现
MySQL 8.0 还不支持 EXCEPT 运算
可以用not实现
4.2连结(JOIN)
inner join
自连结(SELF JOIN)
自然连结(NATURAL JOIN)
MySQL8.0 目前还不支持全外连结, 不过我们可以对左连结和右连结的结果进行 UNION 来实现全外连结。