- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
14年北大情报学考研难度分析
2.查询满足条件的元组
(1) 比较大小
在 WHERE 子句的比较条件中使用比较运算符
=,,,=,=,!= 或 ,!,!,
逻辑运算符 NOT + 比较运算符
[例 6] 查询所有年龄在 20 岁以下的学生姓名及其年龄。
SELECT Sname,Sage
FROM S
WHERE Sage 20;
或
SELECT Sname,Sage
FROM S
WHERE NOT Sage = 20;
(2) 确定范围
使用谓词 BETWEEN „ AND „
NOT BETWEEN „ AND „
[例 7] 查询年龄在 20~23 岁(包括 20 岁和 23 岁)之间的学生的姓名、系别和年龄。
官方网址
北大、人大、中财、北外教授创办 集训营、一对一保分、视频、小班、少干、强军
SELECT Sname,Sdept,Sage
FROM S
WHERE Sage BETWEEN 20 AND 23;
例题(续)
[例 8] 查询年龄不在 20-23 岁之间的学生姓名、系别和年龄。
SELECT Sname,Sdept,Sage
FROM S
WHERE Sage NOT BETWEEN 20 AND 23;
(3) 确定集合
使用谓词 IN 值表, NOT IN 值表
值表:用逗号分隔的一组取值
[例 9]查询信息系(IS)、数学系(MA)和计
算机科学系(CS)学生的姓名和性别。
SELECT Sname,Ssex
FROM S
WHERE Sdept IN ( IS,MA,CS );
(3) 确定集合
[例 10]查询既不是信息系、数学系,也不是计算
机科学系的学生的姓名和性别。
SELECT Sname,Ssex
FROM S
WHERE Sdept NOT IN ( IS,MA,CS );
官方网址
北大、人大、中财、北外教授创办 集训营、一对一保分、视频、小班、少干、强军
(4) 字符串匹配
[NOT] LIKE ‘匹配串’ [ESCAPE ‘ 换码字符’]
匹配串:指定匹配模板
匹配模板:固定字符串或含通配符的字符串
当匹配模板为固定字符串时,可以用 = 运算符取代 LIKE 谓词, 用 != 或 运算符取
代 NOT LIKE 谓词
通配符
% (百分号) 代表任意长度(长度可以为 0)的字符串
例:a%b 表示以 a 开头,以 b 结尾的任意长度的字符串。如 acb,addgb,ab 等都满足该匹配
串
_ (下横线) 代表任意单个字符
例:a_b 表示以 a 开头,以 b 结尾的长度为 3 的任意字符串。如 acb,afb 等都满足该匹配串
ESCAPE 短语
当用户要查询的字符串本身就含有 % 或 _ 时,要使用 ESCAPE 换码字符 短语对通配符
进行转义。
例题
1) 匹配模板为固定字符串
[例 14] 查询学号为 95001 的学生的详细情况。
SELECT *
FROM S
WHERE Sno LIKE 95001;
等价于:
官方网址
北大、人大、中财、北外教授创办 集训营、一对一保分、视频、小班、少干、强军
SELECT *
FROM S
WHERE Sno = 95001;
例题(续)
2) 匹配模板为含通配符的字符串
[例 15] 查询所有姓刘学生的姓名、学号和性别。
SELECT Sname,Sno,Ssex
FROM S
WHERE Sname LIKE ‘刘%’;
例题(续)
匹配模板为含通配符的字符串(续)
[例 16] 查询姓欧阳且全名为三个汉字的学生的姓名。
SELECT Sname
FROM S
WHERE Sname LIKE 欧阳__;
文档评论(0)