SQL SERVER 2012 第三章 T-SQL 基本SELECT语句用法,Where子句详细用法

select [all|distinct] [top (<expression>) [Percent] [with ties]] <column list>

[from <source table(s)/views>]

[where <restrictive condition>]

[group by <column name or expression using a column in the select list>]

[having <restrictive condition based on the group by results>]

[order by <column list>]

[[for xml {raw|auto|explicit|path [(<element>)]} [,xmldata] [,ELEMENTS] [,BINARY BASE 64] ]]

[OPTION (<QUERY HINT>,[,...N])]

上述语法结构非常复杂,一点一点逐步解析开。

基本的:

SELECT 列名称 FROM 表名称;

加上where子句后,变为:SELECT 列名称 FROM 表名称 WHERE 条件

 

这里详细的体现一下where子句的详细用法,如下:

运算符 示例用法 功能
=、>、<、>=、<=、<>、!=、!>、!< <column> = 'Bob' 在区分大小写的情况下,"ROMEY" <> "romey"。!=和<>都表示"不相等",!<、!>表示"不小于"和"不大于"
and、 or 、not <column1> = <column2> and
<column3> = <column4>
在语句中运算的顺序是not、and、or。如果要改变顺序可以用小括号。
 between  <column> between 1 and 5 第一个值在第二个值与第三个值之间时其值为true,其等价于A>=B AND A<=C。
指定的值可以为列名、变量或字面量。 
 like  <column> like "ROM%" 可使用%和_作为通配符。%表示可以代替任意长度的字符串。_表示可以代替任意的单个字符。[]符号用于指定
一个字符、字符串或范围,要求所匹配对象为他们中的任一个(如[a-c]表示a、b和c。而[ab]表示a或b)。^ 运算
符的作用与NOT运算符相同,表示下一个字符是要被排除的。
 in  <column> in ("a","b","345") 关键字in左边的表达式与其右边的任意值匹配时返回true。in常用于子查询。 
 all、any、some  <column|expression>
(比较运算符)
<ANY|SOME>(子查询)
子查询中全部值/任意值满足比较运算符(如<、>、=、>=)的条件时返回true。ALL指示表达式要匹配的 
结果集中的所有值。any和some功能相似,在表达式匹配结果集中的任意值时返回true。
 exists  exists(子查询) 子查询返回至少一行记录时为true。 
posted @ 2015-02-12 16:05  木饭  阅读(2999)  评论(0编辑  收藏  举报