11. 集合运算

简介: <span style="font-family:微软雅黑; font-size:14px; line-height:21px; widows:auto">        select查询结果是一个包含一或多条数据的结果集,类似数学里的集合,可进行</span><span style="font-family:微软雅黑; font-size:14px; line-height:1.5; w
        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 效果一样


目录
相关文章
|
3月前
|
SQL
有序行转列
本文介绍了配送订单表的基本结构与相关SQL查询方法。配送订单表记录了骑手配送的物品类型、送达时间、顾客ID等信息。通过SQL查询可实现按送达时间对顾客ID进行排序,并展示了两种方法:一是使用`collect_list`和`collect_set`函数(存在不确定性),二是将时间和顾客ID拼接后排序再拆分,确保结果有序。此外,还提供了创建表和插入数据的示例,并推荐了更多关于行转列和列转行的相关资料。
|
7月前
|
存储 人机交互 C++
C++实现简易的集合运算
C++实现简易的集合运算
|
SQL
SQL基础——集合运算(下)
SQL基础——集合运算(下)
60 0
集合的交集、并集和差集
集合的交集、并集和差集
|
Java
一篇文章教你学会:对Java集合进行并集,交集,差集运算
一篇文章教你学会:对Java集合进行并集,交集,差集运算
435 0
|
SQL Oracle 关系型数据库
SQL基础——集合运算(上)
SQL基础——集合运算(上)
92 0
|
存储 安全 Java
Java常用集合的总结,集合中的(交集,并集,差集,补集,对称差集)
Java常用集合的总结,集合中的(交集,并集,差集,补集,对称差集)
436 0
Java常用集合的总结,集合中的(交集,并集,差集,补集,对称差集)
|
存储 JavaScript 前端开发
JavaScript中的Set数据操作:交集、差集、交集、对称差集
在许多情况下,需要比较多个列表,获取它们有或没有交集、差集等等,在 Javascript 有一个数据类型可以很好的实现这些需求,那就是 Set 。
365 0