11. 集合运算

来源:互联网 发布:python 粒子群算法库 编辑:程序博客网 时间:2024/06/06 08:26
        select查询结果是一个包含一或多条数据的结果集,类似数学里的集合,可进行交(intersect)、并(union)、差(minus)运算。
被操作的结果集需满足:
  • 两结果集所含数据列的数量相等
  • 两结果集所含数据列的类型必须一一对应

集合运算-练习

保证作集合运算的两结果集的列数、数据型一一对应

#

1union并运算

重复的数据只保留一

SELECT

    id,

    java # 查询结果显示的名字java

FROM grades

UNION

    SELECT

        idmath

    FROM student;

 

2minus差运算(MySQL持)

从集合A减去集合AB共有的。

语法式:select 语句 minus select 语句【不持】,但可借助子查询notin实现minus运算

SELECT

    idmath

FROM student

WHERE

    (id, math)NOT IN(SELECT id, math FROM grades);

 

3interset交运算(MySQL持)

语法式:select 语句 interset select 语句【不持】,但可借助多表连接查询实现interset交运算

 

SELECT

    #即使查交集,由于多表查询,也【必】指定同名字段的表名

    s.ids.math

FROM

    student s

JOIN grades g ON(s.id = g.id AND s.math = g.math)

WHERE

    s.id >=1; # g.id 效果一样


0 0
原创粉丝点击