首页 理论教育 SQLServer数据库基础教程:WHERE子句解析

SQLServer数据库基础教程:WHERE子句解析

时间:2023-10-21 理论教育 版权反馈
【摘要】:WHERE子句中的限定条件可包括下面几种形式。图4-7 限定条件为比较搜索条件的查询2.范围搜索条件使用BETWEEN...AND查找属性值在(或不在)指定范围内的所有记录,该范围包含下限和上限的值。图4-9 限定条件为列表搜索条件的查询4.搜索条件中的模式匹配如果不能给出精确的查询条件,可以使用LIKE来查找与指定模式相匹配的字符串、日期或时间值,实现模糊查询。结果如图4-12所示。

SQLServer数据库基础教程:WHERE子句解析

WHERE是筛选器。它指定一系列查询条件,只有那些满足条件的行才能包含在结果集中。

WHERE子句中的限定条件可包括下面几种形式。

1.比较搜索条件

使用比较运算符用于比较两个表达式的大小,例如,“=”(等于)、“<>”(不等于)、“<”(小于)和“>”(大于)运算符。

【例4-7】 从成绩表中查询学号为09101001的学生的考试成绩。

代码如下。

978-7-111-33494-1-Chapter04-14.jpg

结果如图4-7所示。

978-7-111-33494-1-Chapter04-15.jpg

图4-7 限定条件为比较搜索条件的查询

2.范围搜索条件

使用BETWEEN...AND(或NOT BETWEEN...AND)查找属性值在(或不在)指定范围内的所有记录,该范围包含下限和上限的值。

【例4-8】 从成绩表中查询优秀(成绩在[90,100]之间)的成绩信息。

代码如下。

978-7-111-33494-1-Chapter04-16.jpg

结果如图4-8所示。

978-7-111-33494-1-Chapter04-17.jpg

图4-8 限定条件为范围搜索条件的查询

3.列表搜索条件

可以使用IN(或NOT IN)来查找属性值属于(或不属于)指定集合的记录。

【例4-9】 从“成绩”表中查询修了课程号为1和4的课程的学生学号。

代码如下。

978-7-111-33494-1-Chapter04-18.jpg

结果如图4-9所示。

978-7-111-33494-1-Chapter04-19.jpg

图4-9 限定条件为列表搜索条件的查询

4.搜索条件中的模式匹配

如果不能给出精确的查询条件,可以使用LIKE(或NOT LIKE)来查找与指定模式相匹配(或不匹配)的字符串、日期或时间值,实现模糊查询。(www.xing528.com)

其中LIKE(或NOT LIKE)后的字符串包含值要匹配的模式,可以包含如下4种通配符的任意组合。

1)%:包含零个或多个字符的任意字符串。例如,a%b′′,acbaghdbab都满足该匹配串。

2)_:表示单个字符。例如,a_bacbadbaeb都满足该匹配串。

3)[]:指定范围(例如,[c-e])或集合(例如,[cde])内的任何单个字符。例如,a[c-e]ba[cde]bacbadbaeb都满足该匹配串,afb则不满足该匹配串。

4)[^]:不在指定范围(例如,[^c-e])或集合(例如,[^cde])内的任何单个字符。a[^c-e]ba[^cde]bacbadbaeb都不满足该匹配串,afb则满足该匹配串。

【例4-10】 从“学生”表中查询99101班的学生信息(学号前5位为班号)。

代码如下。

978-7-111-33494-1-Chapter04-20.jpg

结果如图4-10所示。

978-7-111-33494-1-Chapter04-21.jpg

图4-10 限定条件带有模式匹配的查询

5.NULL比较搜索条件

可以使用IS NULL(或ISNOT NULL)来判断某列是空值(或非空)。

【例4-11】 从“课程”表中查询还没有分配给老师教学任务的课程信息。

代码如下。

978-7-111-33494-1-Chapter04-22.jpg

结果如图4-11所示。

978-7-111-33494-1-Chapter04-23.jpg

图4-11 限定条件为NULL比较搜索条件的查询

6.逻辑运算符

可以使用逻辑运算符AND、OR、NOT连接上述条件构成一个组合条件来进行查询。

【例4-12】 从“成绩”表中查询09101班的选修了课程号是4的课程的成绩。

代码如下。

978-7-111-33494-1-Chapter04-24.jpg

结果如图4-12所示。

978-7-111-33494-1-Chapter04-25.jpg

图4-12 限定条件中带有逻辑运算符的查询

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈