条件选择(Where子句)
使用一个比较或逻辑操作在Where子句中指定过滤条件,来生成表中想得到的行。
1. 比较操作
比较操作能比较数值、字符和日期数据,返回TRUE或FALSE。
比较操作符
<(小于)
>(大于)
=(等于)
<>(不等于)
>=(大于等于)
<=(小于等于)
!=(不等于)
!<(不小于)
!>(不大于)
2. 逻辑操作
逻辑操作测试某些条件是否正确,并根据测试结果返回TRUE或FALSE。
· LIKE 如果操作和指定的字符串相同,则返回TRUE,指定的字符串也可包含通配符。
有通配符的like操作更有用。
· “%”规定所有字符串可代替字符“%”的位置。任何在“%”之前或之后的指定字符串视为常量。如:“New%”表示所有以“New”开头的字符串,“%New”表示以“New”结尾的字符串。
· “_”规定任何单个字符可代入“_”的位置。这在只有一个字符不同的相近字符的情况下非常有用。
· “[]”规定使用方括号中定义的字符代替一个字符。方括号中可能是独立的字符(如[ahg]),也可是字符范围(如[c-i])。
· “[^]”规定方括号中“^”之后的字符为不能用来代入的字符,它可以是独立字符(如[ahg]),也可是字符范围(如[c-i])。
注意:可以在一个表达式中组合运用这些通配符。
· BETWEEN 如果操作数在提供的范围之内,则返回TRUE。
BETWEEN可和NOT操作符一同使用,如果数据在指定范围之外,则返回TRUE。
注意:BETTEN操作符是指定范围。例如,BETWEEN A and B表示所有在A和B之间的值,包括A和B。
· IN 如果操作数和任意的指定值相匹配,则IN操作符返回TRUE。指定值可以是一个常量值列表,也可由另外的查询(称为子查询)产生。
IN操作符也可和NOT操作符联合使用,如果数据不在指定值中,它返回TRUE。
· AND 它结合两个表达式,如果两个表达式都为TRUE,则它返回TRUE,否则返回FALSE。
· OR 它结合两个表达式,如果两个表达式中有一个为TRUE,则它返回TRUE,如果两个都为FALSE,则返回FALSE。
· NOT 它对逻辑操作值求反,它可和大多数逻辑操作联合使用,对操作返回的值求反。
· SOME|ANY 这两个操作有相同的格式。它们把操作数和指定值的集合比较。如果操作数与任意指定值的比较返回TRUE,则它返回TRUE。比较操作可以是任意SQL Server定义的比较操作。指定值列表可以由另一个查询产生。
· ALL ALL操作和SOME及ANY有相似的格式。不同的是,如果所有操作数和指定值的比较返回TRUE,它才返回TRUE。