SQL扩展之T-SQL中的数据查询语言之选择查询篇

来源:互联网 发布:搜索引擎怎么数据分析 编辑:程序博客网 时间:2024/05/22 08:08

     选择查询通过WHERE子句实现,WHERE 子句给出了查询条件该子句必须紧跟在FROM子句之后,其语法格式如下:

WHERE <search_condition>其中search_condition为查询条件,<search_condition>语法格式为:{ [ NOT ] <precdicate> | (<search_condition> ) }    [ { AND | OR } [ NOT ] { <predicate> | (<search_condition>) } ]} [ ,…n ]其中predicate为判定运算,<predicate>语法格式为:{ expression { = | < | <= | > | >= | <> | != | !< | !> } expression       /*比较运算*/    | string_expression [ NOT ] LIKE string_expression [ ESCAPE 'escape_character'                                                                          /*字符串模式匹配*/  | expression [ NOT ] BETWEEN expression AND expression     /*指定范围*/  | expression IS [ NOT ] NULL                                          /*是否空值判断*/    | CONTAINS ( { column | * },'<contains_search_condition>')  /*包含式查询*/  | FREETEXT ({ column | * },'freetext_string')                          /*自由式查询*/  | expression [ NOT ] IN ( subquery | expression [,…n] )       /*IN子句*/  | expression { = | < | <= | > | >= | <> | != | !< | !> } { ALL | SOME | ANY } ( subquery )                                                                                             /*比较子查询*/  | EXIST ( subquery )                                                    /*EXIST子查询*/}

     WHERE子句常用的查询条件列在下面:

   

          说明:在SQL中,返回逻辑的运算符或者关键字都称为谓词。

 1, 表达式比较

     比较运算符用于比较两个表达式的值,比较运算的语法格式如下:

expression { = | < | <= | > | >= | <> | != | !< | !> } expression
    其中,expression 是除 text,ntext和image之外类型的表达式。

    例如,查询student表中专业为计算机或者性别为男的学生:

USE stscSELECT * FROM studentWHERE specialist='计算机' or stsex='男'
 2,范围比较

     BETWEEN、NOT BETWEEN、IN是用于范围比较的三个关键字,用于查找字段值在(或不在)指定范围的行.

   例如:查询score表中的成绩为80,90,100的记录

USE stscSELECT * FROM scoreWHERE grade in (80,90,100)
      3,模式匹配

      字符串模式匹配使用LIKE谓词,LIKE谓词表达式的语法表达式格式如下:

string_expression [ NOT ] LIKE string_expression [ ESCAPE 'escape_character']
     其含义是查找指定列值与匹配串相匹配的行,匹配串(即string_expression)可以是一个完整的字符串,也可以含有通配符。通配符有以下两种:
%:代表0或多个字符。
_:代表一个字符。

   例如:查询student表中姓孙的学生情况

USE stscSELECT *FROM studentWHERE stname LIKE '孙%'
   4,空值的使用

         空值是未知的值,判定一个表达式的值是否为空时,使用 IS NULL关键字语法格式如下:

expression IS [ NOT ] NULL
        例如:查询已选课但未参加考试的学生情况

USE stscSELECT * FROM scoreWHERE grade IS null

0 0
原创粉丝点击