WHERE是筛选器。它指定一系列查询条件,只有那些满足条件的行才能包含在结果集中。
WHERE子句中的限定条件可包括下面几种形式。
1.比较搜索条件
使用比较运算符用于比较两个表达式的大小,例如,“=”(等于)、“<>”(不等于)、“<”(小于)和“>”(大于)运算符。
【例4-7】 从成绩表中查询学号为09101001的学生的考试成绩。
代码如下。
结果如图4-7所示。
图4-7 限定条件为比较搜索条件的查询
2.范围搜索条件
使用BETWEEN...AND(或NOT BETWEEN...AND)查找属性值在(或不在)指定范围内的所有记录,该范围包含下限和上限的值。
【例4-8】 从成绩表中查询优秀(成绩在[90,100]之间)的成绩信息。
代码如下。
结果如图4-8所示。
图4-8 限定条件为范围搜索条件的查询
3.列表搜索条件
可以使用IN(或NOT IN)来查找属性值属于(或不属于)指定集合的记录。
【例4-9】 从“成绩”表中查询修了课程号为1和4的课程的学生学号。
代码如下。
结果如图4-9所示。
图4-9 限定条件为列表搜索条件的查询
4.搜索条件中的模式匹配
如果不能给出精确的查询条件,可以使用LIKE(或NOT LIKE)来查找与指定模式相匹配(或不匹配)的字符串、日期或时间值,实现模糊查询。(www.xing528.com)
其中LIKE(或NOT LIKE)后的字符串包含值要匹配的模式,可以包含如下4种通配符的任意组合。
1)%:包含零个或多个字符的任意字符串。例如′,a%b′′,acb′、′aghdb′、′ab′都满足该匹配串。
2)_:表示单个字符。例如,′a_b′,′acb′、′adb′、′aeb′都满足该匹配串。
3)[]:指定范围(例如,[c-e])或集合(例如,[cde])内的任何单个字符。例如,′a[c-e]b′或′a[cde]b′,′acb′、′adb′、′aeb′都满足该匹配串,′afb′则不满足该匹配串。
4)[^]:不在指定范围(例如,[^c-e])或集合(例如,[^cde])内的任何单个字符。′a[^c-e]b′或′a[^cde]b′,′acb′、′adb′、′aeb′都不满足该匹配串,′afb′则满足该匹配串。
【例4-10】 从“学生”表中查询99101班的学生信息(学号前5位为班号)。
代码如下。
结果如图4-10所示。
图4-10 限定条件带有模式匹配的查询
5.NULL比较搜索条件
可以使用IS NULL(或ISNOT NULL)来判断某列是空值(或非空)。
【例4-11】 从“课程”表中查询还没有分配给老师教学任务的课程信息。
代码如下。
结果如图4-11所示。
图4-11 限定条件为NULL比较搜索条件的查询
6.逻辑运算符
可以使用逻辑运算符AND、OR、NOT连接上述条件构成一个组合条件来进行查询。
【例4-12】 从“成绩”表中查询09101班的选修了课程号是4的课程的成绩。
代码如下。
结果如图4-12所示。
图4-12 限定条件中带有逻辑运算符的查询
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。