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



  • 相关阅读:
    给定一个字符串,打印输出有重复的字符和重复的次数,并且按照重复的次数升序输出
    Failed to bind NettyServer on /10.254.4.57:20880, cause: Failed to bind to: /0.0.0.0:20880 配置dubbo遇到的问题
    Feign远程调用,调用方法有返回值,没有返回原方法,Canal监听数据库发生的异常:end of stream when reading header,异常中还有“你的主机中的软件中止了一个已建立的连接”等信息
    idea格式化代码把方法上的文字注释换行的问题
    使用Docker报的错误 docker WARNING: IPv4 forwarding is disabled. Networking will not work
    11月新的开始
    二叉树学习总结
    leetcode刷题日志(200913)637.二叉树的层平均值
    leetcode刷题日志(200909)1512.好数对的数目
    leetcode刷题日志(200908)1480.一维数组动态和
  • 原文地址:https://www.cnblogs.com/wanlibingfeng/p/5657400.html
Copyright © 2011-2022 走看看