关系数据库查询语言SQL.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 厦门大学计算机科学系 3.3 查 询 3.3.1 概述 3.3.2 单表查询 3.3.3 连接查询 3.3.4 嵌套查询 3.3.5 集合查询 3.3.6 小结 3.3.1 概述 语句格式 SELECT [ALL|DISTINCT] 目标列表达式 [,目标列表达式] … FROM 表名或视图名[, 表名或视图名 ] … [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ]; ? 语句格式 SELECT子句:指定要显示的属性列 FROM子句:指定查询对象(基本表或视图) WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。 HAVING短语:筛选出只有满足指定条件的组 ORDER BY子句:对查询结果表按指定列值的升序或降序排序 示例数据库 学生-课程数据库 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 选择(续) 选择(续) 选择(续) 3.3 查 询 3.3.1 概述 3.3.2 单表查询 3.3.3 连接查询 3.3.4 嵌套查询 3.3.5 集合查询 3.3.6 小结 3.3.2 单表查询 查询仅涉及一个表,是一种最简单的查询操作 一、选择表中的若干列 二、选择表中的若干元组 三、对查询结果排序 四、使用集函数 五、对查询结果分组 查询指定列 [例1] 查询全体学生的学号与姓名。 SELECT Sno, Sname FROM Student; ? [例2] 查询全体学生的姓名、学号、所在系。 SELECT Sname,Sno,Sdept FROM Student; 查询全部列 [例3] 查询全体学生的详细记录。 3. 查询经过计算的值 SELECT子句的目标列表达式为表达式 算术表达式 字符串常量 函数 列别名 等 3. 查询经过计算的值 [例4] 查全体学生的姓名及其出生年份。 3. 查询经过计算的值 [例5] 查询全体学生的姓名、出生年份和所有系。在出生年份前面增加一个说明,在系名称后面增加一个“系”作为表示 [例5.1] 使用列别名改变查询结果的列标题 SELECT Sname 姓名, Year of Birth: 生日标识, 2007-Sage 生日, Sdept+系 系名 FROM Student; 二、选择表中的若干元组 消除取值重复的行 查询满足条件的元组 1. 消除取值重复的行 在SELECT子句中使用DISTINCT短语 ALL 与 DISTINCT [例6] 查询选修了课程的学生学号。 例题(续) 注意 DISTINCT短语的作用范围是所有目标列 例:查询选修课程的各种成绩 错误的写法 SELECT DISTINCT Cno,DISTINCT Grade FROM SC; 正确的写法 SELECT DISTINCT Cno,Grade FROM SC;? 2.查询满足条件的元组 (1) 比较大小 在WHERE子句的比较条件中使用比较运算符 =,,,=,=,!= 或 ,!,!, 逻辑运算符NOT + 比较运算符 [例8] 查询所有年龄在20岁以下的学生姓名及其年龄。 (2) 确定范围 使用谓词 BETWEEN … AND … NOT BETWEEN … AND … [例10] 查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 例题(续) [例11] 查询年龄不在20~23岁之间的学生姓名、系别和年龄。 (3) 确定集合 使用谓词 IN 值表, NOT IN 值表 值表:用逗号分隔的一组取值 [例12]查询信息系(IS)和计算机科学系(CS)学生的姓名和性别。 (3) 确定集合 [例13]查询既不是信息系又不是计算 机科学系的学生的姓名和性别。 (4) 字符串匹配 [NOT] LIKE ‘匹配串’ [ESCAPE ‘ 换码字符’] 匹配串:指定匹配模板 匹配模板:固定字符串或含通配符的字符串 当匹配模板为固定字符串时,

文档评论(0)

wuhuaiyu002 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档