首页 第四章 检索数据

第四章 检索数据

举报
开通vip

第四章 检索数据null第四章 数据检索第四章 数据检索主讲:向永香 Email:xyx401@163.com主要内容主要内容掌握查询的基本语法 掌握常用的SQL函数 掌握TOP关键字和DISTINCT关键字的用法4.1 T-SQL查询语句4.1 T-SQL查询语句4.1 查询和记录集 查询:即根据用户的要求,将数据库表中符合条件的记录筛选出来的过程。 记录集:符合查询条件的记录组成的二维表结构的结果集。4.1 T-SQL查询语句4.1 T-SQL查询语句4.1 查询和记录集 图为Student表中所有的记录查询广州的所有学生信息...

第四章 检索数据
null第四章 数据检索第四章 数据检索主讲:向永香 Email:xyx401@163.com主要内容主要内容掌握查询的基本语法 掌握常用的SQL函数 掌握TOP关键字和DISTINCT关键字的用法4.1 T-SQL查询语句4.1 T-SQL查询语句4.1 查询和 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 集 查询:即根据用户的要求,将数据库表中符合条件的记录筛选出来的过程。 记录集:符合查询条件的记录组成的二维表结构的结果集。4.1 T-SQL查询语句4.1 T-SQL查询语句4.1 查询和记录集 图为Student表中所有的记录查询广州的所有学生信息4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 Select语句基本语法格式 SELECT <列名> FROM <表名> [WHERE <查询条件>] [ORDER BY <排序的列名>][ASC 或DESC] 说明 最基本的语法,是对单个表进行查询; SELECT后接要筛选的字段,多个字段之间有逗号分隔; WHERE条件部分是可选的,如果筛选的记录有条件就加,并且可以由多个条件组合查询,多个条件之间根据需要用逻辑运算符AND 和 OR连接。 ORDER BY 关键字可选,排序默认是按照升序即ASC关键字,也可以省略,如果要降序排序,需要明确使用DESC关键字。排序也可按照多个字段进行。4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 返回表中所有字段,可以用*替代字段名 例:查询所有学生的信息 SELECT * FROM Student 筛选部分字段,必须明确指定字段名 例:显示住在广州的学生的编号、姓名和性别 SELECT StuNo, StuName, StuSex FROM Student WHERE StuAddress =‘广州’4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 在查询中使用别名 用as关键字 SELECT StuNo AS 学号, StuName AS 姓名, StuSex AS 性别 FROM Student WHERE (StuAddress = '广州')4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 用空格 SELECT StuNo 学号, StuName 姓名, StuSex 性别 FROM Student WHERE (StuAddress = '广州') 用=号 SELECT 学号=StuNo, 姓名= StuName , 性别 =StuSex FROM Student WHERE (StuAddress = '广州') 4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 查询空记录 通过IS NULL、IS NOT NULL来判断是否为空 SELECT 学号=StuNo, 姓名= StuName , 性别 =StuSex FROM Student WHERE (StuAddress = IS NOT NULL) 使用复合条件筛选记录 例:筛选考试科目代号'002'为并且成绩大于70分的信息 SELECT StuNo 学号, CourseNo 课程号, Score 成绩 FROM StuScore WHERE Score>70 AND CourseNo='002' ORDER BY CourseNo 4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 在查询中使用常量列 例:在查询中添加一个常量列国家,列的值为“中国” SELECT StuNo 学号, StuName 姓名, StuSex 性别, StuAddress 地址, 国家= '中国' FROM Student在Student表中插入一列,列名为国家,列值为中国4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 替换结果集中的数据 例:根据学生成绩,划分不同的等级。成绩大于85分,显示优秀;成绩小于60分显示不及格;其余的显示合格。使用CASE函数来实现。 SELECT StuNo 学号, CourseNo 课程号, 等级=CASE WHEN Score>=85 THEN '优秀' WHEN Score>=60 THEN '合格' ELSE '不及格' END FROM StuScore4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 排序的使用 例:由高到低显示学生的成绩信息 SELECT StuNo 学号, CourseNo 课程号, Score 成绩 FROM StuScore ORDER BY Score DESC使用ORDER BY子句可以按一个或多个属性列对数据进行排序。 当排序列包含空值(NULL)时,若使用ASC关键字,则排序列为空值的元组最后显示;若使用DESC关键字,则排序列为空值的元组最先显示。4.1 T-SQL查询语句4.1 T-SQL查询语句4.1.2 使用Select语句进行查询 示例9:由高到低显示学生成绩信息(多列排序) SELECT StuNo 学号, CourseNo 课程号, Score 成绩 FROM StuScore ORDER BY Score ,CourseNo 在该查询中,系统先按照Score进行升序排序(关键字ASC省略),然后 再按照CourseNo进行升序排序。 当基于多个属性对数据进行排序时,出现在ORDER BY子句中的列的顺序是非常重要的,因为系统是按照排序列的先后进行排序的。如果第一个属性相同,则依据第二个属性排序,如果第二个属性相同,则依据第三个属性排序,依此类推。另外,在执行多列排序时,每一个列都可以指定是升序还是降序。 null学生信息表Student(StuNo,StuName,StuDate,StuAddress,StuSex) 选课成绩表:StuScore(StuNo,CourseNo,Score) 科目表:Course(CourseNo, CourseName,Grade) 在Student表中插入一条学生记录如下:学号S000088,姓名:王晓萌,性别:女。(在学生信息表中只有StuNo,StuName不能为空,其他均可以是空值)。 将StuScore表中CourseNo为‘C001’且Score小于60分的记录的Score改为60分。 将StuScore表中StuNo为‘S000010’的成绩记录删除。 删除StuScore表中所有成绩记录,并且删除后信息不能恢复 在Course表中查询Grade等于3的课程信息的CourseNo, CourseName信息,在查询结果中将CourseNo更名为课程号,将CourseName更名为课程名,查询结果按照CourseNo降序排序 4.2 在查询中使用函数4.2 在查询中使用函数在查询中经常要对筛选的字段通过函数来实现并做一些处理,T-SQL提供了大量,大概可以分为以下几类: 字符串函数 日期函数 数学函数 系统函数4.2 在查询中使用函数4.2 在查询中使用函数4.2.1 字符串函数4.2 在查询中使用函数4.2 在查询中使用函数4.2.1 字符串函数4.2 在查询中使用函数4.2 在查询中使用函数4.2.2 日期函数4.2 在查询中使用函数4.2 在查询中使用函数4.2.2 数学函数4.2 在查询中使用函数4.2 在查询中使用函数4.2.2 数学函数数学函数返回参加运算的数据的数值,如下面的检索语句,分别使用了求圆周率的PI函数、求正弦值的SIN函数、求指数的EXP函数、求幂值的POWER函数等。 SELECT PI(), S IN(PI()/2), COS(PI()/4), EXP(10), POWER(10,2)4.2 在查询中使用函数4.2 在查询中使用函数4.2.2 系统函数4.3 Top关键字的使用4.3 Top关键字的使用语法格式: TOP n 从前向后返回n行数据 TOP n [PERCENT] 按照百分比返回指定数量的数据行 说明: 当在查询语句中使用了ORDER BY子句时,还经常在SELECT子句中使用 TOP关键字。TOP关键字表示仅在结果集中从前向后列出指定数量的数据行。如果在使用TOP关键字的SELECT语句中没有使用排序子句,则只是随机地返回指定数量的数据行。 4.3 Top关键字的使用4.3 Top关键字的使用例:查询班内前5个学生的信息。 SELECT TOP (5) * FROM Student ORDER BY Sno 本查询先将结果集中的数据按Sno升序排序,然后取出前5个输出显示。 例 :查询成绩排名在前30%的学生学号、科目和成绩。 SELECT TOP 30 PERCENT StuNo, CourseNo, Score FROM StuScore ORDER BY Score DESC 本查询先将结果集中的数据按照Score降序排序,再从排序后的记录里取前30%进行输出。 4.3 Top关键字的使用4.3 Top关键字的使用有的读者或许会问,如果设定列出5行数据,但是第6行、第7行甚至更多行的数据如果和第5行一样的话,那么这些行的数据是否会显示?例如在【例11】中,若结果集列出了3行数据,假设第4行数据中Score值也是89的话,那不是就丢失了一部分可以使用的信息吗?要解决这个问题很简单,只需要在TOP子句后使用 WITH TIES子句就可以了。例如同样在【例11】中,如果将SELECT子句改为: 例11 (改):查询成绩排名在前30%的学生学号、科目和成绩。 SELECT TOP 30 PERCENT WITH TIES StuNo, CourseNo, Score FROM StuScore ORDER BY Score DESC 4.3 Top关键字的使用4.3 Top关键字的使用在SQL Server 2005中还可以用变量来限定显示记录的数量 例:返回前3条学生信息 Declare @n int SET @n=3 SElECT TOP (@n ) * FROM STUDENT 如果在TOP后接的是变量,必须用括号。4.4 过滤重复记录DISTINCT关键字的使用4.4 过滤重复记录DISTINCT关键字的使用语法格式 DISTINCT 列名,,,n 说明: 在SELECT子句中,可以通过使用ALL或DISTINCT关键字来控制查询结果集的显示。ALL关键字表示检索所有的数据,包括重复的数据行,DISTINCT关键字表示仅仅显示不重复的数据行,对于重复的数据行,则只显示一次。默认使用ALL关键字。 一个SELECT语句中DISTINCT只能出现一次,而且必须放在所有列之前4.4 过滤重复记录DISTINCT关键字的使用4.4 过滤重复记录DISTINCT关键字的使用一。查询考试信息 SELECT StuNo AS 学号 FROM StuScore 二。查询参加了考试的学生 SELECT DISTINCT StuNo AS 学号 FROM StuScore 4.5 计算列的使用4.5 计算列的使用查询数据时,经常需要对表中的数据计算后才能得到满意的结果,SQL Server在数据查询中提供了计算的能力 例:在StuScore表中查询学号,课程号,成绩信息,并将所有人成绩减5分。 SELECT StuNo 学号, CourseNo 课程号, Score-5 成绩 FROM StuScore总结总结用SELECT语句从数据表中检索数据用户需要的数据 通过给列起别名使得查询的信息更明确 使用TOP关键字可以显示结果集中前n条记录 使用DISTINCT可以消除结果集中重复的记录,使结果集中的记录具有唯一性。用SELECT语句从数据表中检索数据用户需要的数据 通过给列起别名使得查询的信息更明确 使用TOP关键字可以显示结果集中前n条记录 使用DISTINCT可以消除结果集中重复的记录,使结果集中的记录具有唯一性。 作业作业课后系统1-6题做在练习册上 复习本章知识点 预习第5章复杂查询
本文档为【第四章 检索数据】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_627383
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:生产制造
上传时间:2011-10-10
浏览量:19