《07_SQL-数据查询》.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《07_SQL-数据查询》.ppt

SQL-数据查询 大连理工大学软件学院 数据查询 基本语法 示例数据库 学生-课程数据库 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 单表查询 基本含义 查询仅涉及一个表,是一种最简单的查询操作 选择表中的若干列 选择表中的若干元组 对查询结果排序 使用集函数 对查询结果分组 单表查询 例:查询全体学生的学号与姓名。 例:查询全体学生的姓名、学号、所在系。 例:查询学生的全部详细记录。 单表查询 查询经过计算的值 SELECT子句的目标列表达式为表达式 算术表达式 字符串常量 函数 列别名 …… 单表查询 查询经过计算的值 例:查全体学生的姓名及其出生年份。 例:查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。 单表查询 选择表中的若干元组 消除取值重复的行 查询满足条件的元组 单表查询 消除取值重复的行 单表查询 消除取值重复的行 例:查询选修了课程的学生学号。 例:查询选修课程的各种成绩 单表查询 查询满足条件的元组 单表查询 查询满足条件的元组 Where子句常用查询条件 单表查询 基于数值的过滤条件 例:查询所有年龄在20岁以下的学生姓名及其年龄。 单表查询 基于范围的过滤条件 例:查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 练习:查询年龄不在20~23岁之间的学生姓名、系别和年龄。 单表查询 基于给定集合的过滤条件 例:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。 单表查询 基于文本的过滤条件 格式:[NOT] LIKE ‘匹配串’ [ESCAPE ‘ 换码字符’] 匹配串:指定匹配模板 匹配模板:固定字符串或含通配符的字符串 当匹配模板为固定字符串时 用 = 运算符取代 LIKE 谓词 用 != 或 运算符取代 NOT LIKE 谓词 当模糊查询时 % (百分号) 代表任意长度(长度可以为0)的字符串 _ (下横线) 代表任意单个字符 当用户要查询的字符串本身就含有 % 或 _ 时,要使用ESCAPE 换码字符 短语对通配符进行转义。 单表查询 基于文本的过滤条件 例:查询学号为95001的学生的详细情况 单表查询 基于文本的过滤条件 例:查询所有姓刘学生的姓名、学号和性别 例:查询姓欧阳且全名为三个汉字的学生的姓名 单表查询 基于文本的过滤条件 例:查询名字中第2个字为“阳”字的学生的姓名和学号 例:查询所有不姓刘的学生姓名 单表查询 基于文本的过滤条件 例:查询DB_Design课程的课程号和学分 例:查询以DB_开头,且倒数第3个字符为 i的课程的详细情况。 单表查询 针对空值的过滤条件 例:某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。 例:查所有有成绩的学生学号和课程号。 单表查询 多重条件查询 用逻辑运算符AND和 OR来联结多个查询条件 AND的优先级高于OR 可以用括号改变优先级 可用来实现多种其他谓词 [NOT] IN [NOT] BETWEEN … AND … 单表查询 多重条件查询 例:查询计算机系年龄在20岁以下的学生姓名。 例:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。 单表查询 多重条件查询 练习:下面语句如何改写成AND或OR形式? 单表查询 查询结果排序 使用ORDER BY子句 可以按一个或多个属性列排序 升序:ASC;降序:DESC;缺省值为升序 当排序列含空值时 ASC:排序列为空值的元组最后显示 DESC:排序列为空值的元组最先显示 单表查询 查询结果排序 例:查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 例:查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。 单表查询 聚集函数 SUM([DISTINCT|ALL] *) SUM( [DISTINCT|ALL] column) 计算值的总和并返回总数 COUNT( [DISTINCT|ALL] column ) 计算记录数 AVG( [DISTINCT|ALL] column ) 返回指定列中的平均值 MIN( [DISTINCT|ALL] column ) 返回自变量中指定列的最小值 MAX( [DISTINCT|ALL] column ) 返回自变量中指定列的最大值 DISTINCT短语:在计算时要取消指定列中的重

文档评论(0)

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

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

1亿VIP精品文档

相关文档