- 两结果集所含数据列的数量相等。
- 两结果集所含数据列的类型必须一一对应。
# 集合运算-练习
# 必须保证作集合运算的两个结果集的列数、数据类型一一对应
#
# 1、union并运算
# 重复的数据只保留一个
SELECT
id,
java # 查询结果显示的名字是java
FROM grades
UNION
SELECT
id, math
FROM student;
# 2、minus差运算(MySQL不支持)
# 从集合A中减去集合AB共有的。
# 语法格式:select 语句 minus select 语句【不支持】,但可借助子查询notin实现minus运算
SELECT
id, math
FROM student
WHERE
(id, math)NOT IN(SELECT id, math FROM grades);
# 3、interset交运算(MySQL不支持)
# 语法格式:select 语句 interset select 语句【不支持】,但可借助多表连接查询实现interset交运算
SELECT
#即使是查交集,由于是多表查询,也【必须】指定同名字段的表名
s.id, s.math
FROM
student s
JOIN grades g ON(s.id = g.id AND s.math = g.math)
WHERE
s.id >=1; # g.id 效果一样
欢迎个人转载,但须在文章页面明显位置给出原文连接;
未经作者同意必须保留此段声明、不得随意修改原文、不得用于商业用途,否则保留追究法律责任的权利。
【 优快云 】:csdn.zxiaofan.com
【GitHub】:github.zxiaofan.com
如有任何问题,欢迎留言。祝君好运!
Life is all about choices!
将来的你一定会感激现在拼命的自己!