• 基本SELECT语句(一)学习笔记


      用SELECT语句可以实现数据库的查询操作,同时,它还可以使用各种子句对查询结果进行分组统计、合计、排序等操作。SELECT语句还可以将查询结果生成另一个表(临时表或永久表)。

      SELECT语句的语法格式:

    SELECT [ALL|DISTINCT] select_list
    [INTO [new_table_name]]
    [FROM {table_name,table_name2,...|view_name,view_name2,...}]
    [WHERE clause]
    [GROUP BY clause(子句)]
    [HAVING clause(子句)]
    [ORDER BY clause(子句)]
    [COMPUTE clause(子句)]
    [FOR BROWSE]

    在使用中,子句可以省略,但在列出时按以上顺序。

    1、简单查询

      简单查询包括SELECT列表、FROM子句和WHERE子句,它们分别指出所查询的列、查询对象(表或视图)、搜索条件等。

    如:查询TongFuHotel表中年龄小于30岁的男性

    1 SELECT TongFuHotel.Name,TongFuHotel.Job
    2 FROM TongFuHotel
    3 WHERE TongFuHotel.Age<30 AND TongFuHotel.Sex=''

    (1)SELECT列表语句

      SELECT列表语句(select_list)指定所选择的列,它可以为一组列名列表、星号、表达式、变量等构成。当用星号表示则为选择指定表或视图中的所有列。

    SELECT *FROM TongFuHotel

    使用SELECT列表语句时,多个被指定的列名之间用逗号分隔。SELECT列表还可以对数值列进行算术运算(包括加、减、乘、除、取模等)。其中,加、减、乘、除操作适用于任何数值型(如int、smallint、tinyint、decimal、numeric、float、money、smallmoney等),而取模运算不能用于money和smallmoney数据类型。此外,还可以指定字符串常量或变量改变它们的输出结果。

      在SELECT语句中使用ALL|DISTINCT选项来显示所有行(ALL)或删除重复的行(DISTINCT),缺省时为ALL。使用DISTINCT选项时,对于所有数据重复的SELECT列表数值只显示一次。

    SELECT DISTINCT job FROM TongFuHotel

    (2)FROM子句

      FROM子句指定SELECT语句查询相关的表或视图。最多可指定16个表或视图,相互之间用逗号分隔。如果这些表或视图属于不同的数据库,可用“数据库.所有者名称.对象”格式指定表或视图。

      在FROM子句中可为每个表或视图指定一个别名,别名紧跟在对象名称之后,用空格分隔,允许使用别名引用表中各列。

    1 SELECT Name,Job
    2 FROM TongFuHotel t
    3 WHERE t.Age<30 AND t.Sex=''

    (3)WHERE子句限定搜索条件

    ①WHERE语句可包含条件运算符

    a、比较运算符    >、<、>=、<=、=、<>、!>、!<   (大小比较)

    b、范围运算符    BWTWEEN...AND、NOT BETWEEN...AND   (判断表达式值是否在指定范围之内)

    c、列表运算符    IN、NOT IN    (判断表达式值是否为列表中的指定项)

    d、模式匹配符    LIKE、NOT LIKE    (判断列植是否与指定的字符统配格式相符)

    e、空值判断符    IS NULL、NOT IS NULL   (判断表达式值是否为空)

    f、逻辑运算符    AND、OR、NOT    (用于多条件的逻辑连接)

    ②WHERE语句可包含模式匹配符

    a、%:可匹配任意类型长度的字符

    b、_:匹配单个任意字符,常用于限制表达式的字符长度

    c、[]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一字符

    d、[^]:取值与[]相同,但要求所匹配对象为指定字符以外的任一字符

    参考文献:精通C#数据库编程.王华杰,黄山编著——北京:科学出版社,2003.10

  • 相关阅读:
    JAVA Unsafe类
    进程通信的五种普通方法
    监控API的实现 周末补
    INLINE HOOK 简单实现
    跨域资源请求方式
    在博客园放入“可运行”javascript代码
    一些学习资源
    XXE篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题
    Mongodb注入
    SSRF篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题
  • 原文地址:https://www.cnblogs.com/zyf2014/p/5445520.html
Copyright © 2020-2023  润新知