zoukankan      html  css  js  c++  java
  • SQL入门之集合操作

    尽管可以在与数据库交互时一次只处理一行数据,但实际上关系数据库通常处理的都是数据的集合。在数学上常用的集合操作为:并(union),交(intersect),差(except)。对于集合运算必须满足下面两个要求:

    • 两个数据集合必须具有同样数目的列
    • 连个数据集中对应列的数据类型必须是一样的(或者服务器能够将其中一种类型转换为另一种类型)

    SQL语言中每个集合操作符包含两种修饰:一个包含重复项,另一个去除了重复项(但不一定去除了所有重复项)。

    0.union操作符

    unionunion all操作符可以连接多个数据集,区别是前者去除重复项,后者保留。对于数据库而言,union all操作更加迅速,因为数据库不需要检查数据的重复性。对于连个表

    select 'IND' type_cd, cust_id, lname name
    from individual
    union all
    select 'BUS' type_cd, cust_id, name
    from business;

    执行操作后的结果为:

    其中,18个数据来自与individual表,8个来自于business。为了更清楚的看到区别,看下面两个实例:

    select a.cust_id, a.name
    from business a
    uinon all
    select b.cust_id, b.name
    from business b;

    结果为

    select a.cust_id, a.name
    from business a
    union
    select b.cust_id, b.name
    from business b;

    结果为

    可以很明显看出区别。

    1.intersect和except操作符

    我用的MySQL版本似乎没有实现这两个功能。:(

  • 相关阅读:
    Java学习笔记-关键字super
    Java学习笔记 -方法覆盖和多态
    刷题笔记-图论
    刷题笔记 -宽搜bfs和深搜dfs
    刷题笔记-双指针算法
    python之switch语句,优化多个if语句
    激光驱动上位机软件开发引言
    上位机开发之PyQt5知识点
    stm32 关于正负数的运算(待验证)
    c语言之关键字volatile
  • 原文地址:https://www.cnblogs.com/pipinet/p/6686820.html
Copyright © 2011-2022 走看看