zoukankan      html  css  js  c++  java
  • MySQL必知必会笔记:组合查询


    可UNION操作符来组合数条SQL语句。

    1.使用UNION

    UNION的使用很简单,所需做的只是给出每条SELECT语句,在各条语句之间放上关键字UNION。
    输入
    SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price <= 5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);
    输出

    第一条SELECT检索不高于5的所有物品,第二条SELECT使用IN找出供应商1001和1002生产的所有物品。UNION指示MySQL执行两条SELECT语句,并把输出组合成单个查询结果集。

    2.包含或取消重复的行

    如果分别执行以上两条SELECT语句,那么第一条SELECT返回4行,第二条返回5行,但是使用UNION组合了两条SELECT语句之后,只返回了8行而不是9行。这是UNION的默认行为,但是如果需要,也可以改变:使用UNION ALL,而不是UNION。
    输入
    SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price <= 5 UNION ALL SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);
    输出

    使用UNION ALL,MySQL不取消重复的行,因此这里出现了9行。

    3.对组合查询结果排序

    在用UNION组合查询时,只能使用一条ORDER BY子句,它必须出现在最后一条SELECT语句之后。
    输入
    SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price <= 5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002) ORDER BY vend_id,prod_price;
    输出

  • 相关阅读:
    【 星 辰 · 第 二 条 约 定 】
    【 星 辰 · 第 一 条 约 定 】
    【 塔 · 第 三 条 约 定 】
    【 塔 · 第 二 条 约 定 】
    某些奇葩的正则校验
    localstorage本地存储的简单使用
    js基础(3)之闭包。
    js基础(2)filter()筛选过滤
    js基础(1)变量作用域
    scrum过程
  • 原文地址:https://www.cnblogs.com/aaaazzzz/p/13063047.html
Copyright © 2011-2022 走看看