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

     选择查询通过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 stsc
SELECT * 
FROM student
WHERE specialist='计算机' or stsex='男'
 2,范围比较

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

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

USE stsc
SELECT * 
FROM score
WHERE grade in (80,90,100)
      3,模式匹配

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

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

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

USE stsc
SELECT *
FROM student
WHERE stname LIKE '孙%'
   4,空值的使用

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

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

USE stsc
SELECT * 
FROM score
WHERE grade IS null

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值