- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第3章 单表查询
第三章 SQL语言—单表查询 福建农林大学软件工程学院 1 数据库中数据的查询 2 SQL中的条件设置:使用WHERE子句 3 聚集查询 1.1 剖析SELECT语句 基本结构 select 目标表达式[,目标表达式] from 表名或者视图名[, 表名或者视图名] where 条件表达式 含义:根据where子句的条件表达式,从from子句指定的表或视图找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。 1.1 剖析SELECT语句 查询经过计算的值 select子句的目标表达式可以是表达式 1.2 对属性或表达式使用AS取别名 属性更名 1.2 对属性或表达式使用AS取别名 1.2 对属性或表达式使用AS取别名 注意:别名当要使用一些特殊符号,如#,%,逗号,空格等需要引号。另外where子句中不能用列别名,必须使用准确的全名。 查询满足条件的元组 查询满足指定条件的元组可以通过WHERE子句来实现。WHERE子句常用的查询条件如下表所示: 1.4 处理空值 涉及空值的查询 1.5 对查询结果排序 在ORDER BY子句中可以使用别名及数字 select s# as 学号,c# as 课程号,grade from SC Order by c# 等价与select s# as 学号,c# as 课程号,grade from SC Order by 课程号 等价与select s# as 学号,c# as 课程号,grade from SC Order by 2 2.5 SQL 中的条件设置:使用WHERE子句 2.5.1 在WHERE子句中使用逻辑运算符 2.5.2 在WHERE子句中使用IN子句 2.5.3 在WHERE子句中使用BETEEN子句 2.5.4 在WHERE子句中使用LIKE来匹配字符 2.4 在WHERE子句中使用LIKE来匹配字符 匹配串可以是一个完整的字符串,也可以含有通配符%和_。其中: %(百分号) 代表任意长度(可以为0)的字符串。 例如a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab等都满足该匹配串。 _(下横线) 代表任意单个字符 例如a_b代表以a开头,以b结尾的长度为3的任意字符串,比如acb,afb都满足该匹配串. SQL数据查询基本结构----复习 基本结构 简单查询1----复习 查询所有学生的姓名、年龄和所在系, WHERE子句常用的查询条件如下表所示: 复习 1、检索年龄大于25岁的男学生的学号和姓名,结果按年龄降序、学号升序排序。 复习 3 聚集查询 3.1 选择唯一值DISTINCT 3.2 聚集函数 3.3 分类聚集 3.2 聚集函数 聚集函数用于对数据表的的记录进行统计,如统计记录总数、平均值、最小值和最大值等。 3.2 聚集函数 注意:集函数(除了count(*))会忽略那些值为null的记录 3.2 聚集函数 3.2 聚集函数--补充 3.2 聚集函数 3.3 分类聚集 如果要对数据进行分组统计,如统计每门课程的选课人数,如何实现呢? 3.3 分类聚集 ? 注意:如果某个列不是group by子句中的列,而出现于select子句中,则会出现错误。 3.3 分类聚集 如果分组后还要求按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,则可以使用HAVING断语指定筛选条件 3.3 分类聚集 ?where 与 having where子句用于对分组前的每个记录进行筛选。 Having 是对分组以后对结果进行筛选。 3.3 分类聚集 思考: 查询两门或两门以上课程成绩都大于或等于80分的学生的学号 3.3 分类聚集 group by 与 order by 。 order by 子句可以与Group by 子句共同使用来查询结果进行排序。 order by 子句必须跟在Group by 子句后面,顺序不能调换。 order by 子句中不能包含Group by 子句组成部分以外的列名。 3.3 分类聚集 3.3 分类聚集 思考: 查询两门或两门以上课程成绩都大于或等于80分的学生的学号以及门数,结果按学号降序排序。 课堂练习 --1、检索年龄大于25岁的男生的学号和姓名以及出生年份,出生年份起别名为year of birth。 --2、查询DB_design的课程的课程号和学分。 --3、查询缺少成绩的学生的学号和相应的课程号。 --4、查询姓名为李开头的学生的学号,姓名和所在系的名称,结果按学号降序排序。 --5、统
文档评论(0)