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

  • 相关阅读:
    【原】 POJ 1308 Is It A Tree? 并查集树结构 解题报告
    终于决定投身Linux怀抱
    Inside the C++ Object Model
    Fedora 下 OpenCV 的安装
    sed 与 awk
    工具链接收藏
    [转] 计算机视觉领域稍微容易中的期刊
    QtCreator开发多文档编辑器(Project 1)
    Fedora 17: Grub Rescue
    做文档类的工作总是让我感到一些烦躁
  • 原文地址:https://www.cnblogs.com/aaaazzzz/p/13063047.html
Copyright © 2011-2022 走看看