11. 集合运算

        select查询结果是一个包含一或多条数据的结果集,类似数学里的集合,可进行交(intersect)、并(union)、差(minus)运算。

被操作的结果集需满足:

  • 两结果集所含数据列的数量相等。
  • 两结果集所含数据列的类型必须一一对应。

# 集合运算-练习

# 必须保证作集合运算的两个结果集的列数、数据类型一一对应

#

# 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 效果一样

时间: 2025-01-30 05:19:33

11. 集合运算的相关文章

集算器协助java处理结构化文本的集合运算

JAVA不直接支持集合运算,因此要用嵌套循环才能实现文本文件之间的交集.并集.差集 等集合运算,如果文件数量较多,或者文件较大而无法放入内存直接计算,再或者要按照多个字段进行集合运算,则相应的代码会更加复杂.集算器直接支持集合运 算,可以协助JAVA轻松实现此类算法,下面我们通过例子来看一下具体作法. 有两个小文件:f1.txt和f2.txt,第一行是列名,现在需要对文件中的Name字段进行交集运算.部分数据如下: 文件f1.txt: 文件f2.txt: 集算器代码: A1.B1:用import

求助好的数据结构存储模式算法来“极速”展开14场胜负彩全复式源码和集合运算!!!

问题描述 500元现金求助"极速"展开14场胜负彩全复式源码和集合运算源码!!!源代码可采用C#/DELPHI7/DELPHI.NET编写要提供可以运行的源码!!!如果使用到第三方插件或控件也要在源程序中给出,如果不能正确生成程序则不算!!对于牛人来说,写"极速"展开14场胜负彩全复式源码和集合运算源码是举手之劳的事情,我只需要简单实现,点击按钮1后,要求"极速"展开14场胜负彩全复式,在某个显示界面中可以看到分页显示的单式,点击按钮2可以将读入

SQL 基础7—— 集合运算(UNION 与UNION ALL)

 集合运算操作符可以将两个或多个查询返回的行组合起来,即集合属于纵向连接运算   一.常用的集合运算符     UNION ALL 返回各个查询检索出的所有的行,不过滤掉重复记录     UNION     返回各个查询检索出的过滤掉重复记录的所有行,即并集     INTERSECT 返回两个查询检索出的共有行,即交集     MINUS     返回将第二个查询检索出的行从第一个查询检索出的行中减去之后剩余的行,即差集     二.集合运算的原则     1.所有选择列表的表达式数目必须相同

SQL 基础--> 集合运算(UNION 与UNION ALL)

--============================================= -- SQL 基础--> 集合运算(UNION 与UNION ALL) --=============================================       集合运算操作符可以将两个或多个查询返回的行组合起来,即集合属于纵向连接运算   一.常用的集合运算符     UNION ALL 返回各个查询检索出的所有的行,不过滤掉重复记录     UNION     返回各个查询检索出

5.创建表,使用alter进行表信息的增删改,Oracle回收站,集合运算

 1  Oracle基于用户的管理方案 2 DDL语句可以管理数据库的对象有:视图   索引  序列  同义词   约束 3  创建一个表,有2个条件(1 有权限:2有表空间)    Oracle给你提供了默认的resource. 4 创建表,表信息的增删改,Oracle回收站 DDL          管理数据库的对象                    表                    视图 索引 序列 同义词 约束(..... )            oracle基于用户的

Oracle集合运算

SQL> --什么是集合运算? SQL> --查询10号部门和20号部门的员工 SQL> --第一种 SQL> select *   2  from emp   3  where deptno=10 or deptno=20;      EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO                                   ---------

redis基本命令之二:集合、有序集合

5 集合类型 5.1 增加/删除元素 Sad key number [number -] Srem key number [number -] Sadd命令用来向集合中增加一个或多个元素,如果键不存在则会自动创建.因此在一个集合中不能有相同的元素,所以如果要加入的元素已经存在于集合中就会忽略这个元素. 5.2 获取集合中的所有元素 smembers key smembers命令会返回集合中的所有元素 5.3判断元素是否在集合中 Sismember key number 判断一个元素是否在集合中是

[Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具

原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法.这是Guava最流行和成熟的部分之一. 我们用相对直观的方式把工具类与特定集合接口的对应关系归纳如下: 集合接口 属于JDK还是Guava 对应的Guava工具类 Collection JDK Collections2:不要和jav

C++11时代的标准库快餐教程(4) - 排序算法的应用

排序算法的应用 用排序做集合运算 - 子集,交集,并集与差集 上一节我们讲了排序算法,包括快速排序sort,堆排序partial_sort和归并排序stable_sort.并且讲了排序的第一个用法,二分法差找. 二分法是针对一个排序后的容器的用法,如果是多个有序容器,我们就可以快速地在其基础上进行集合的求子集,交集,并集与差集等运算. 我们还是先看一下图,排序相关算法都有哪些内容: 子集std::includes std::includes算法用于判断第一个迭代器是否包含第二个迭代器中的所有元素