zoukankan      html  css  js  c++  java
  • SQL补充

    TOP 子句
    TOP 子句用于规定要返回的记录的数目。
    对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。
    注释:并非所有的数据库系统都支持 TOP 子句。
    SELECT TOP 2 * FROM Persons.
    截取前两条数据


    SQL 通配符
    在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
    SQL 通配符必须与 LIKE 运算符一起使用。
    在 SQL 中,可使用以下通配符:
    通配符 描述
    % 替代一个或多个字符
    _ 仅替代一个字符

    [charlist] 字符列中的任何单一字符
    [^charlist] 不在字符列中的任何单一字符
    或者
    [!charlist]

    Between 操作符实例
    SELECT * FROM PersonsWHERE LastName BETWEEN 'Adams' AND 'Carter'
    重要事项:
    不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。
    所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!

    如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:
    select * from Persons where LastName not between 'Adams' AND 'Carter'

    两个表取数据
    select Persons.LastName, Persons.FirstName, Orders.OrderNo from Persons, Orders where Persons.Id_P = Orders.Id_P

    LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。
    RIGHT JOIN 关键字会从右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中没有匹配的行。
    FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。

    union
    SELECT E_Name FROM Employees_China
    UNION
    SELECT E_Name FROM Employees_USA
    UNION 命令只会选取不同的值。

    ucase
    现在,我们希望选取 "LastName" 和 "FirstName" 列的内容,然后把 "LastName" 列转换为大写。
    我们使用如下 SQL 语句:
    SELECT UCASE(LastName) as LastName,FirstName FROM Persons
    结果集类似这样:
    LastName FirstName
    ADAMS John
    BUSH George
    CARTER Thomas

    lcase
    现在,我们希望选取 "LastName" 和 "FirstName" 列的内容,然后把 "LastName" 列转换为小写。
    我们使用如下 SQL 语句:
    SELECT LCASE(LastName) as LastName,FirstName FROM Persons
    结果集类似这样:
    LastName FirstName
    adams John
    bush George
    carter Thomas

    len
    我们使用如下 SQL 语句:
    select LEN(City) as LengthOfCity FROM Persons
    结果集类似这样:
    LengthOfCity
    6
    8
    7

    round()
    现在,我们希望把名称和价格舍入为最接近的整数。
    我们使用如下 SQL 语句:
    SELECT ProductName, ROUND(UnitPrice,0) as UnitPrice FROM Products
    结果集类似这样:
    ProductName UnitPrice
    gold 32
    silver 12
    copper 7

    NOW 函数返回当前的日期和时间。
    现在,我们希望显示当天的日期所对应的名称和价格。
    我们使用如下 SQL 语句:
    SELECT ProductName, UnitPrice, Now() as PerDate FROM Products
    结果集类似这样:
    ProductName UnitPrice PerDate
    gold 32.35 12/29/2008 11:36:05 AM
    silver 11.56 12/29/2008 11:36:05 AM
    copper 6.85 12/29/2008 11:36:05 AM



  • 相关阅读:
    [BZOJ5338][TJOI2018]xor(可持久化Trie)
    [BZOJ4592][SHOI2015]脑洞治疗仪(线段树)
    [BZOJ4571][SCOI2016]美味(贪心+主席树)
    [BZOJ4570][SCOI2016]妖怪(凸包)
    [BZOJ4569][SCOI2016]萌萌哒(倍增+并查集)
    [BZOJ4567][SCOI2016]背单词(Trie+贪心)
    [BZOJ4565][HAOI2016]字符合并(区间状压DP)
    [BZOJ4561][JLOI2016]圆的异或并(扫描线)
    [BZOJ2650]积木
    [清橙A1210]光棱坦克
  • 原文地址:https://www.cnblogs.com/wanlibingfeng/p/5657400.html
Copyright © 2011-2022 走看看