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;
    输出

  • 相关阅读:
    RefreshParenwin 打开子窗体 并回发
    DataAdapter插入数据
    GridViewTotal
    滚动截图软件
    十个随机数排列(vb代码)
    SQL查询效率100w数据查询只要1秒
    ASP.NET操纵EXCEL导入SQL SERVER数据库的代码
    ajax blogs !good!
    轻松掌握Ajax.net系列教程
    asp.net 性能优化 Write less, do more...
  • 原文地址:https://www.cnblogs.com/aaaazzzz/p/13063047.html
Copyright © 2011-2022 走看看