当前位置 博文首页 > 、唐城:SQL高级教程(1)——Top,Like,通配符,In

    、唐城:SQL高级教程(1)——Top,Like,通配符,In

    作者:[db:作者] 时间:2021-08-20 18:51

    ?

    目录

    TOP 子句

    SQL Server 的语法:

    MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的

    MySQL 语法

    Oracle 语法

    原始的表 (用在例子中的):

    SQL TOP 实例

    结果:

    SQL TOP PERCENT 实例

    LIKE 操作符

    SQL LIKE 操作符语法

    原始的表 (用在例子中的):

    LIKE 操作符实例

    例子 1

    例子 2

    例子 3

    例子 4

    SQL 通配符

    原始的表 (用在例子中的):

    使用 % 通配符

    例子 1

    例子 2

    使用 _ 通配符

    例子 1

    例子 2

    使用 [charlist] 通配符

    例子 1

    例子 2

    IN 操作符

    SQL IN 语法

    原始的表 (在实例中使用:)

    IN 操作符实例

    结果集:


    TOP 子句

    TOP 子句用于规定要返回的记录的数目。

    对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。

    注释:并非所有的数据库系统都支持 TOP 子句。

    SQL Server 的语法:

    SELECT TOP number|percent column_name(s)
    FROM table_name

    MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的

    MySQL 语法

    SELECT column_name(s)
    FROM table_name
    LIMIT number

    例子

    SELECT *
    FROM Persons
    LIMIT 5

    Oracle 语法

    SELECT column_name(s)
    FROM table_name
    WHERE ROWNUM <= number

    例子

    SELECT *
    FROM Persons
    WHERE ROWNUM <= 5

    原始的表 (用在例子中的):

    Persons 表:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon
    2BushGeorgeFifth AvenueNew York
    3CarterThomasChangan StreetBeijing
    4ObamaBarackPennsylvania AvenueWashington

    SQL TOP 实例

    现在,我们希望从上面的 "Persons" 表中选取头两条记录。

    我们可以使用下面的 SELECT 语句:

    SELECT 
    TOP 2
     * FROM Persons

    结果:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon
    2BushGeorgeFifth AvenueNew York

    SQL TOP PERCENT 实例

    现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。

    我们可以使用下面的 SELECT 语句:

    SELECT 
    TOP 50 PERCENT
     * FROM Persons

    结果:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon
    2BushGeorgeFifth AvenueNew York

    LIKE 操作符

    LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

    SQL LIKE 操作符语法

    SELECT column_name(s)
    FROM table_name
    WHERE column_name LIKE pattern

    原始的表 (用在例子中的):

    Persons 表:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon
    2BushGeorgeFifth AvenueNew York
    3CarterThomasChangan StreetBeijing

    LIKE 操作符实例

    例子 1

    现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City LIKE 'N%'

    提示:"%" 可用于定义通配符(模式中缺少的字母)。

    结果集:

    IdLastNameFirstNameAddressCity
    2BushGeorgeFifth AvenueNew York

    例子 2

    接下来,我们希望从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City LIKE '%g'

    结果集:

    IdLastNameFirstNameAddressCity
    3CarterThomasChangan StreetBeijing

    例子 3

    接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City LIKE '%lon%'

    结果集:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon

    例子 4

    通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含?"lon" 的城市里的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City NOT LIKE '%lon%'

    结果集:

    IdLastNameFirstNameAddressCity
    2BushGeorgeFifth AvenueNew York
    3CarterThomasChangan StreetBeijing

    SQL 通配符

    在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

    SQL 通配符必须与 LIKE 运算符一起使用。

    在 SQL 中,可使用以下通配符:

    通配符描述
    %代表零个或多个字符
    _仅替代一个字符
    [charlist]字符列中的任何单一字符

    [^charlist]

    或者

    [!charlist]

    不在字符列中的任何单一字符

    原始的表 (用在例子中的):

    Persons 表:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon
    2BushGeorgeFifth AvenueNew York
    3CarterThomasChangan StreetBeijing

    使用 % 通配符

    例子 1

    现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City LIKE 'Ne%'

    结果集:

    IdLastNameFirstNameAddressCity
    2BushGeorgeFifth AvenueNew York

    例子 2

    接下来,我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City LIKE '%lond%'

    结果集:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon

    使用 _ 通配符

    例子 1

    现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE FirstName LIKE '_eorge'

    结果集:

    IdLastNameFirstNameAddressCity
    2BushGeorgeFifth AvenueNew York

    例子 2

    接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是一个任意字符,然后是 "er":

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE LastName LIKE 'C_r_er'

    结果集:

    IdLastNameFirstNameAddressCity
    3CarterThomasChangan StreetBeijing

    使用 [charlist] 通配符

    例子 1

    现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City LIKE '[ALN]%'

    结果集:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon
    2BushGeorgeFifth AvenueNew York

    例子 2

    现在,我们希望从上面的 "Persons" 表中选取居住的城市不以?"A" 或 "L" 或 "N" 开头的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE City LIKE '[!ALN]%'

    结果集:

    IdLastNameFirstNameAddressCity
    3CarterThomasChangan StreetBeijing

    IN 操作符

    IN 操作符允许我们在 WHERE 子句中规定多个值。

    SQL IN 语法

    SELECT column_name(s)
    FROM table_name
    WHERE column_name IN (value1,value2,...)

    原始的表 (在实例中使用:)

    Persons 表:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon
    2BushGeorgeFifth AvenueNew York
    3CarterThomasChangan StreetBeijing

    IN 操作符实例

    现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:

    我们可以使用下面的 SELECT 语句:

    SELECT * FROM Persons
    WHERE LastName IN ('Adams','Carter')

    结果集:

    IdLastNameFirstNameAddressCity
    1AdamsJohnOxford StreetLondon
    3CarterThomasChangan StreetBeijing

    ?

    cs
    上一篇:ASP电影播放器
    下一篇:没有了