zoukankan      html  css  js  c++  java
  • ALL、DISTINCT、DISTINCTROW、TOP 谓词

    转载地址:http://www.chinazhan.net/onlinebook/sql/dasqlalldistinct.htm

    如果不包含任何一个谓词,则取此值。Microsoft Jet数据库引擎选取所有满足 SQL 语句的所有记录。下列两示例是等价的,并且都返回雇员表的所有记录:
    SELECT ALL *
    FROM Employees
    ORDER BY EmployeeID;

    SELECT *
    FROM Employees
    ORDER BY EmployeeID;
     
    DISTINCT 省略选择字段中包含重复数据的记录。为了让查询结果包含它们,必须使 SELECT 语句中列举的每个字段值是唯一的。例如,雇员表可能有一些同姓的雇员。如果有两个记录的姓氏字段皆包含 Smith,则下列 SQL 语句只返回包含 Smith 的记录:
    SELECT DISTINCT
    LastName
    FROM Employees;

    如果省略 DISTINCT,则查询将返回两个包含 Smith 的记录。

    如果 SELECT 子句包含多个字段,则对已给记录,所有字段值的组合必须是唯一的,而且结果中将包含这一组合。

    如果查询使用 DISTINCT,则不能更新其输出,而且该输出也不会反映其它用户所作的一系列更改。
     
    DISTINCTROW 省略基于整个重复记录的数据,而不只是基于重复字段的数据。例如,可在客户ID字段上创建一个联结客户表及订单表的查询。客户表并未复制一份 CustomerID 字段,但是订单表必须如此做,因为每一客户能有许多订单。下列 SQL 语句显示如何使用 DISTINCTROW 生成公司的列表,且该列表至少包含一个订单,但不包含有关那些订单的任何详细数据:
    SELECT DISTINCTROW CompanyName
    FROM Customers INNER JOIN Orders
    ON Customers.CustomerID = Orders.CustomerID
    ORDER BY CompanyName;

    如果省略 DISTINCTROW,则查询将对每一公司生成多重行,且该公司包含多个订单。

    仅当从查询中的一部分表但不是全部表中选择字段时,DISTINCTROW 才会有效。如果查询只包含一个表,或者从所有的表中输出字段,则可省略DISTINCTROW。
     
    TOP n [PERCENT] 返回特定数目的记录,且这些记录将落在由 ORDER BY 子句指定的前面或后面的范围中。假设您想要 1994 年班级里的前 25 个学生名字:
    SELECT TOP 25
    FirstName, LastName
    FROM Students
    WHERE GraduationYear = 1994
    ORDER BY GradePointAverage DESC;

    如果您没有包含 ORDER BY 子句,则查询将由学生表返回 25 个记录的任意集合,且该表满足 WHERE 子句。

    TOP 谓词不在相同值间作选择。在前一示例中,如果第 25 及第 26 的最高平均分数相同,则查询将返回 26 个记录。

    也可用 PERCENT 保留字返回特定记录的百分比,且这些记录将落在由 ORDER BY 子句指定的前面或后面范围中。假设用班级后面 10% 的学生代替前 25 个学生,:

    SELECT TOP 10 PERCENT
    FirstName, LastName
    FROM Students
    WHERE GraduationYear = 1994
    ORDER BY GradePointAverage ASC;

    ASC 谓词指定返回后面的值。遵循 TOP的值一定是无符号 Integer.

    查询是否可更新,这不会受到 TOP 的影响。
     
    table 从其中获取记录的表的名称。

  • 相关阅读:
    touch测试
    JS动画代码
    前端css、javascript在线工具
    横向广告(商品)滚动
    写点js的小函数(一)
    HTML5 css reset
    JS新API标准 地理定位(navigator.geolocation)
    写点js的小函数(二、文本框的提示)
    传说中的comet(ajax版)?
    lhgdialog 4.2.0 正式版发布
  • 原文地址:https://www.cnblogs.com/xingchen/p/2075109.html
Copyright © 2011-2022 走看看