文档库 最新最全的文档下载
当前位置:文档库 › 数据查询

数据查询

数据查询
数据查询

数据查询1——简单查询

一、实验目的

通过对SELECT的使用,掌握SELECT语句的结构及其应用,掌握基于单个表的查询。

二、原理解析

语法格式为:

SELECT〈目标列组〉

FROM〈数据源〉

[WHERE〈元组选择条件〉]

[GROUP BY〈分列组〉[HA VING 〈组选择条件〉]]

[ORDER BY〈排序列1〉〈排序要求1〉[,…n]](1) SELECT子句SELECT子句用于指明查询结果集的目标列。

(2) FROM子句

FROM子句用于指明查询的数据源。

(3) WHERE子句

WHERE子句通过条件表达式描述关系中元组的选择条件。

(4) GROUP BY子句

GROUP BY子句的作用是按分组列的值对结果集分组。

(5) ORDER BY子句ORDER BY子句的作用是对结果集进行排序。

三、实验内容

(1)取出生年月小于’1982-1-1’的学生名单。

(2)检索xsqk表中的所有记录数据。

(3)查询班级为“计算机0203”的学生学号、姓名、性别。

(4)查询出生年月在“1981-01-01”至“1982-05-01”之间的学生情况。

(5)查询姓名中含有“红”字的学生情况。

(6)查询出生年月在“1981-01-01”至“1982-05-01”之间的学生情况,并以出生年月按降序排列。

(7)统计学生情况(xsqk)表中“计算机0203”的班级有多少人。

(8)统计学生成绩(xscj)表中每门课程的最低分、最高分和平均分。

(9)在学生成绩库中查询出生年月在“1981-01-01”至“1982-05-01”之间的男生姓名,班级,出生年月,并以出生年月按降序排列。

(10)统计“信息管理”专业的人数。

(11)统计每个学生每个学期的最低分、最高分及平均分。

(12)查询至少选修了二门及以上课程的学生学号。

(13)查询至少被2位学生选修的课程号。

《数据查询与操作》实验的答案

《数据查询与操作》实验 一、实验目的与要求 1、理解简单查询和复合查询的意义。 2、掌握SELECT语句和各子句的使用。 3、掌握多表查询和子查询的使用。 4、掌握INSERT、UPDATE和DELETE语句的使用。 二、实验平台 1、操作系统:Windows XP或Windows 2003 2、数据库管理系统:SQL Server 2005 三、练习 1、插入数据 1)在“人事管理系统”数据库“员工信息”表中,插入一个新员工信息(员工编号…100508?、员工姓名…苏娜?、所在部门编号…10005?、性别?女?籍贯…河北?)该员工还没安排职位。 insert into员工信息(员工编号,员工姓名,所在部门编号,性别,籍贯) values('100508','苏娜','10005','女','河北') 2)在“人事管理系统”中,新增一个员工信息(员工编号…100509?、员工姓名…小龙女?、所在部门编号…10001?、籍贯…河南?)。 insert into员工信息(员工编号,员工姓名,所在部门编号,籍贯) values('100509','小龙女','10001','河南') 3)将“人事管理系统”数据库的“员工信息”表中籍贯为“河南”并且所在部门编号为”10001”数据插入到“新员工信息”表中。 create table 新员工信息 (员工编号int not null,

员工姓名varchar(50) not null, 所在部门编号int null, 入职时间datetime null ) insert into新员工信息(员工编号,员工姓名,所在部门编号) select员工编号,员工姓名,所在部门编号 from员工信息 where所在部门编号='10001'and籍贯='河南' 4)将“人事管理系统”数据库中技术部门的员工的简明信息 (包括:员工编号、员工姓名、部门名称、所任职位和文化程 度)保存到表“技术部人员”中。 select员工编号,员工姓名,部门名称,所任职位,文化程度 into技术部人员 from部门信息b join员工信息y on b.部门编号=y.所在部门编号 where部门名称='技术部' 2、更新数据 1)在“人事管理系统”数据库“部门信息”表中,将部门的员工人数设置为10。 update部门信息 set员工人数=10 2)在“人事管理系统”数据库“员工信息”表中,将文化程度为“大专”,并且在“2005-05-01”到“2007-05-01”之间入职的所有员工调动到编号为“10006”的部门去。 update员工信息 set所在部门编号=10006 where入职时间between'2005-05-01'and'2007-05-01' and文化程度='大专' 3)在“人事管理系统”数据库中对部门进行了重组和调整,原来编号为10006的部门名称变为“市场开发部”,人数也调整为20人。

空间数据查询和空间数据分析的具体功能分类

空间数据查询和空间数据分析的具体功能分类? 空间定位查询 由图形查询到属性 按点定位查询 按矩形区域查询 按椭圆区域查询 按多边形区域查询 如查询在某个面内有几个点 、 空间关系查询 通过拓扑关系和空间运算进行的查询 邻接查询:查询目标邻接的点、线、面目标 含查询:查询面目标所包含的点、线、面目标 穿越查询:查询线目标所相交的点、线、面目标 缓冲区查询:查询目标一定距离范围内的点、线、面目标 如面面查询,查询与某个多边形相邻的多边形的个数 空间属性查询 由属性查询到图形 支持标准的SQL查询语言 Select 属性项集合From 属性表集合Where 条件集合 如查询地块面积为1.5的业主名字 select 业主名字,面积 from Parcel, Qwner where Parcel.PIN= Owner.PIN and Parcel.Area= 1.5 空间组合查询 定位与属性组合查询 关系与属性组合查询 定位与关系组合查询 定位、关系和属性组合查询 如查询某地块中有几个面积为1.5的点 空间数据分析 形态分析 形态特征是空间物体的重要特征之一,在空间分析中,对空间物体的形态分析随空间物体维数的改变而不同 一般地说,空间物体可以简单地分为零维、一维、二维、三维,形态分析是对物体的几何特征的分析 零维物体的形态是没有意义的 一维物体的形态分析指长度、曲率、方向特征 二维物体的形态分析指面积、周长、重心及平面延展性等 三维物体的形态分析主要有表面积、体积、坡度、坡向等 叠加分析

叠加分析是GIS最重要的功能之一 是将各种不同的地理要素分类(层)存储和表述,由计算机自动将它们迭置起来进行分析如在叠加区域内,只有参与迭加的地理要素都为真时,该区域才为真;若参与迭加的地理要素中有一个为假,则该区域为假 点与多边形叠加、线与多边形叠加、多边形与多边形叠加 邻域分析 邻域分析包括两个方面的内容:一是通过给定位置查询其邻域中的有关要素情况,这在GIS 中通常归结为“缓冲区”分析,有点、线、面缓冲区分析 其二是从给定位置的某现象“值”去推算其给定邻域相关变量的值,在这GIS中通常归结为“插值式逼近” 连接分析 连接分析涉及的内容较多,主要就是通视分析、径流分析、日照分析和多边形合并 通视分析简单地说就是在地面上给定一点,计算出位于该点可以见到的全部区域 径流分析就是地表谷地、水流的路径 日照分析就是太阳照射的影子分析 多边形合并单地说就是将若干个小多边形合并成一个大多边形 网络分析 将地理空间抽象成一个二维欧氏平面,以一定的规则和连线分布其间,就构成了地理网络现实地理空间中许多地理事物都可以直接或经过适当的变换形成地理网络 例如铁路、公路、通讯线路、生产过程、经济的流量、人口迁移路线、自然系统中的物质流、能量流和信息流等,都可以表示成相应的点之间的连线 由此构成现实世界中多种多样的地理网络。对地理网络进行分析,就可得到一些很有意义的结果 网络分析的应用主要包括三个方面:路径分析和资源分配 分布分析 分布分析就是空间统计分析,基于空间数据进行非空间数据(专题)的分类 将地图要素划分成一些简单的连通区域,如行政区划,每个区域用一个简单的数学函数表示一种专题主要属性的变化 根据所表示地理现象的不同,区域可以对应不同类型的属性函数,如人口分布图、经 济状况分布图、工业分布图、文化分布图、历史分布图等

实验5 数据查询1

实验五数据查询1(2学时) 实验目的 1、熟练掌握SQL语句的基本格式 2、熟练使用SQL的SELECT语句在单表中进行数据查询。 实验内容 任务一:参考教学课件例题,掌握SQL语句的基本格式 任务二:使用SQL的SELECT语句在单表中进行数据查询 1.熟悉XSCJ数据库,清楚数据库中“班级表”、“课程信息表”、“成绩表”、“系部表”和“学生基本信息表”五个表各自的结构。 a. 班级表,包括班级编号、系部编号、班级名称 b.课程信息表,包括课程编号、课程名称、学分、学时、考核类型、任课教师、系部编号、上课时间、 c.成绩表,包括学号、课程编号、成绩

d.系部表,包括系部编号、系部名称 e.学生基本信息表,包括学号、姓名、性别、族别、出生日期、政治面貌、家庭住址、联系电话、邮政编码、班级编号

2.用sql语句完成下列数据的查找,并把相应代码记录下来。 1、查询学生基本信息表中姓名、家庭住址和联系电话三个字段的内容; USE XSCJ SELECT 姓名,家庭住址,联系电话 FROM 学生基本信息表 2、从学生基本信息表中查看政治面貌,要求取消政治面貌代码相同的行; USE XSCJ SELECT distinct 政治面貌 FROM 学生基本信息表 3、显示成绩表的前10行; USE XSCJ SELECT top 10*FROM 成绩表 4、显示课程信息表的前10行的课程名称和学分; USE XSCJ SELECT top 10课程名称,学分 FROM 课程信息表 5、查询学生基本信息表中学号为000034的家庭住址; USE XSCJ SELECT 家庭住址 from 学生基本信息表 where 学号=000034

课下实验2-数据查询

课后实验、查询数据库学生选课系统 一、导入学生选课系统数据库() 二、数据库介绍 ●(, ) 该表是学生基本信息表其中:-学号,-姓名,-班级,-性别, -出生日期,-籍贯,-入学成绩,-照片,-身份证号码, -总学分 ●() 该表是课程情况表其中:-课程号,-课程名称,-先修课程号,—学分 ●() 该表是学生选课成绩表其中:-学期,-学号,-课程号,-成绩,-绩点 ●() 该表是教师上课情况表其中:—序号,-学期;-班级;-课程号;-教师编号; -学时 ●() 该表是教师基本情况表:其中-教师编号;-教师姓名;-职称;-入校日期;-系别;-工资;-婚否;—联系电话;-简历 三、在数据库中完成以下查询。 ()查询物流学生的详细信息 ()查询“入学成绩”在到分之间的学生的姓名和班级 ()查询表中现有的班级(要求查询结果中班级名称不要重复) ()查询具有“教授”或“副教授”职称的教师的教师编号和姓名 ()查询姓“陈”,且籍贯是“宁波”的学生的姓名,出生日期,入学成绩 ()查询表中“级”的学生信息 ()查询姓名中包含“菲”字的学生的学号、姓名、性别、班级 ()查询教师上课情况表中还没有安排好上课教师的班级和对应的课程号 ()查询全体学生情况,查询结果按所在班级名升序排列,同一班级中的学生按出生日期降序排列 ()统计物流班学生“入学成绩”的平均分、最高分、最低分 ()统计表中的学生人数 ()统计各个班级的学生人数,按统计结果做降序排列 ()统计各门课程的平均成绩,结果显示课程号和平均成绩 ()查询平均成绩以上的课程编号

()查询平均成绩分以上的学生的学号 ()查询教师人数在人以上的学院,查询结果显示学院名称和教师人数,查询结果按教师人数作降序排列 ()查询选修了课程学生的学号、姓名、所选课程号、课程名称以及取得的成绩()查询选修了‘计算机基础’这门课程的学生的学号、姓名、班级、成绩()查询和“刘涛”在一个班级的学生的信息 思考:可以用什么方法完成本次查询? ()查询没有选修过任何课程的学生的信息(学号、姓名、班级) 思考:还可以用什么方法完成本次查询? ()查询教师“姚明”给哪些班级上课? ()查询教师“姚明”上哪些课程,要求查询结果包含课程编号和课程名称?()查询学号为“”学生选修所有课程的平均分和总学分 ()查询其他班中比“计算应用”所有学生入学成绩高的学生的姓名和入学成绩()查询选课门数等于或大于门的学生的平均成绩和选课门数 ()查询“计算机基础”这门课程的平均成绩 ()查询选修了“”课程,且成绩高于此课程平均成绩的学生的学号和获得的成绩 ()查询既选修了“计算机基础”或者选修了“语言基础”的学生的学号 ()查询既选修了“计算机基础”又选修了“语言基础”的学生的学号 ()查询“计算机基础”课程成绩最高的学生的信息

大数据服务平台功能简介

大数据服务平台简介 1.1 建设目标 大数据服务平台以“整合资源、共享数据、提供服务”为指导思想,构建满足学校各部门信息化建设需求,进而更好为广大师生、各级管理人员、院领导等角色提供集中、统一的综合信息服务。因此, 要建设大数据服务平台 主要包括综合查询,教学、科研、人事、学生、图书、消费、资产、财务等数据统计分析和数据采集终端(含数据录入及数据导入)。通过此平台为学校的校情展示提供所需的基础数据,为学校的决策支持积累所需的分析数据,为广大师生、各级管理人员、校领导的综合信息服务提供所需的开发数据,为学校的应用系统建设提供所需的公共数据。 1.2建设效益 协助领导决策、提供智能分析手段 通过建设大数据服务平台: 为校领导提供独特、集中的综合查询数据,使校领导能够根据自身需要随时查询广大师生的个人情况,有助于校领导及时处理广大师生的各种诉求。 为校领导提供及时、准确的辅助决策支持信息,使校领导能够全面掌握多方面的信息,有助于校领导提高决策的科学性和高效性(以往各部门向校领导提供的信息往往只从部门角度考虑,而校领导无法及时获取多方面的信息,无法及时做出决策)。 为校领导提供丰富、全面的校情展示数据,使校领导能够实时掌握教学、科研、人事、学生、图书、消费、资产、财务等情况,有助于校领导制定学校未来发展战略。 为校领导提供教育部《普通高等学校基本办学条件指标》检测报表,包括具有高级职务教师占专任教师的比例、生均占地面积、生均宿舍面积、百名学生配教学用计算机台数、百名学生配多媒体教室和语音实验室座位数、新增教学科研仪器设备所占比例、生均年进书量。对提高教学质量和高等学校信息化程度等具有积极的指导作用。 1.3 建设内容 基于中心数据库,将学校长期以来积累的大量管理数据以一种多维的形式进行重新组织,多层次、多维度的整合、挖掘和分析,从各个层面、各个角度充分展示学校的办学理念、教学质量、科研水平、师资队伍、学生风貌、后勤保障、办学条件等,为各级管理人员、校领导科学决策提供强

项目六 数据查询答案

项目六数据查询 项目要求: 在“学籍管理”数据库中的院部信息表、班级信息表、学生信息表、教师信息表、课程信息表、选课信息表中进行简单查询、模糊查询、分组查询、联接查询以及子查询的操作。 项目支撑知识: ?简单查询 查询是对存储在SQL Server2005中的数据的请求,用户可以通过查询来获得所需要的数据。查询可以通过执行SELECT语句实现,也可通过其他图形界面的程序实现,但它们最后都要将每个查询转换成SELECT语句,然后发送到SQL Server服务器执行。 SELECT语句的语法形式如下: SELECT select_list [ INTO new_table ] FROM table_source [WHERE search_condition] [GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY order_expression [ ASC | DESC ] ] [COMPUTE 子句] [FOR 子句] [OPTION 子句] 其中: ●SELECT子句:用于指定所选择的要查询的特定表中的列,它可以是星 号(*)、表达式、列表、变量等。 ●INTO子句:用于指定所要生成的新表的名称。 ●FROM子句:用于指定要查询的表或者视图,最多可以指定16个表或 者视图,用逗号相互隔开。 ●WHERE子句:用来限定查询的范围和条件。 ●GROUP BY子句:是分组查询子句。 ●HAVING子句:指定记录辅助过滤条件,从分组的结果中筛选行,即选取 满足条件的那些组。逻辑上讲,HAVING 子句从中间结果集(由SELECT 语 句中的 FROM、WHERE 或 GROUP BY 子句创建的)对行进行筛选。 HAVING 子句通常与 GROUP BY 子句一起使用,如果不使用 GROUP BY 子句, HAVING 的行为与 WHERE 子句一样。 ●ORDER BY子句:是对检索到数据进行排序;ASC 和 DESC 关键字用于指 定行是按升序还是按降序排序,默认升序。 ●UNION 运算符:将两个或更多查询的结果组合为单个结果集,该结果集 包含联合查询中的所有查询的全部行。可以在查询之间使用 UNION 运 算符,以将查询的结果组合成单个结果集。 ●COMPUTE 子句:生成合计作为附加的汇总行附加在结果集的最后。当与 BY 一起使用时,COMPUTE 子句在结果集内生成控制中断、明细和分类 汇总。可在同一查询内指定 COMPUTE BY 和 COMPUTE。

20111019数据查询(1)答案

一、实训准备工作 1、执行教务管理系统创建数据库和表的T-SQL脚本,创建教务管理系统数据库和表。 2、执行提供的数据插入SQL脚本,向数据库表中添加示例数据。 二、根据要求完成以下训练内容 要求:以下内容在查询分析器中调试通过后,将题目、所编写的SQL语句、复制到该文档中。并以学号+姓名重命名(如“1003101张三.doc”)格式上传到网络硬盘上。 1、单表查询 1)查询所有学生的学号、姓名、性别和年龄,按学号字段的值以降序排列查询结果。 (提示:排序) SELECT StuId,StuName,Sex,YEAR(getdate())-YEAR(Birthday) FROM Tb_Student ORDER BY StuId DESC SELECT StuId,StuName,Sex,DATEDIFF(YEAR,Birthday,getdate()) FROM Tb_Student ORDER BY StuId DESC 2)查询所有学生的学号、姓名、性别和年龄,按学号字段的值以降序排列查询结果。 同时,查询显示的结果字段使用中文名称描述。(提示:别名) SELECT StuId 学号,StuName 姓名,Sex 性别,DATEDIFF(YEAR,Birthday,getdate()) 年龄 FROM Tb_Student ORDER BY StuId DESC 3)查询所有职称为“副教授”(职称编码为‘T2’)的所有教师的教师编码、姓名、 生日。(提示:带条件查询) SELECT TeacherId 教师编码,TeacherName 姓名,Birthday 生日 FROM Tb_Teacher WHERE TitleId='T2'

实验二数据查询

实验二数据查询 实验目的: 1.通过本实验能够掌握投影、选择条件表达、排序、分组的sql语句表达。 2.通过本实验能够熟练应用sql语言进行查询,具体包括单表查询,多表连 接查询。 实验要求: 1.在进行本实验之前,应熟练课程内容,在上机之前做好实验计划,编写 好相应的代码。 2.认真填写实验报告,记录所有实验用例。 实验内容: (一)包括排序、分组的单表查询 1.求数学系学生的学号和姓名 2.求选修了课程的学生学号。 3.求选修课程号为‘2’的学生号和成绩,并要求对查询结果按成绩的降 序排列,如果成绩相同按学号的升序排列。 4.求选修课程号为’2’且成绩在80~90之间的学生学号和成绩,并将成绩乘 以0.8输出。 5.求数学系或计算机系姓张的学生的信息。 6.求缺少了成绩的学生的学号和课程号。 7.查询各个课程号与相应的选课人数。 (二)多表连接查询 1.查询每个学生的情况以及他所选修的课程。 2.求学生的学号、姓名、选修的课程及成绩。 3.求选修课程号为‘1’且成绩在90分以上的学生学号、姓名和成绩。 4.查询每一门课程的间接先行课。 5.查询与’刘晨’在同一个系学习的学生。 6.查询选修了课程名为‘信息系统‘的学生学号和姓名。 7.查询平均成绩在80分以上的学生学号和平均成绩。 8.查询选修了1门以上课程的学生的学号。

(三)嵌套查询 8.求选修了信息系统的学号和姓名。 9.查询与刘晨在同一个系学习的学生。 10.求选修1号课程的成绩高于刘晨的成绩(指刘晨选修的所有的课程 的成绩)的学生学号及成绩。 11.求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机 系年龄最大者的学生)。 12.求其他系中比计算机系学生年龄都小的学生姓名及年龄。 13.求没有选修3号课程的学生姓名。 14.查询选修了全部课程的学生姓名。 SQL语言中没有全称量词∨(,all)。但是可以把带有全称量词的谓词转换为等价的带有存在量词的谓词。(∨x)P≡∟(exists x(∟P)) 试做:查询所有学生都选修的课程名 15.求至少选修了学号为“20021522”的学生所选修全部课程的学生学号和姓名。 16.求选修课程超过2门的学生的学号和姓名。 (四)视图 1. 创建数学系学生视图,带有检查约束。 2. 向创建的视图中插入一条记录。 3. 修改视图。 (五)思考题: 1.Where子句中能否用聚集函数作为条件表达式。 2.多表连接查询中如果显示的某一属性不止一个表中出现,应如何处理。(例:(二)多表连接查询中的第2题)。

连接其它服务器数据库查询数据(sql server)

不同服务器数据库之间的数据操作 --创建链接服务器 exec sp_addlinkedserver '链接名', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin '链接名', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from 链接名.数据库名.dbo.表名 --导入示例 select * into 表 from 链接名.数据库名.dbo.表名 --以后不再使用时删除链接服务器 exec sp_dropserver '链接名', 'droplogins ' --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表

select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) select *from 本地表 --更新本地表 update b set b.列A=a.列A from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 exec sp_addlinkedserver '链接名', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' --查询 select * FROM openquery(链接名, 'SELECT * FROM 数据库.dbo.表名 ') --把本地表导入远程表 insert openquery(链接名, 'SELECT * FROM 数据库.dbo.表名 ')

数据库中SQL查询语句习题含的答案

.word 版本可编辑. 查询问题:设教学数据库Education 有三个关系: 学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT );学习关系SC (SNO ,CNO ,GRADE );课程关系C (CNO ,CNAME ,CDEPT ,TNAME ) (1)检索计算机系的全体学生的学号,姓名和性别; (2)检索学习课程号为C2的学生学号与姓名; (3)检索选修课程名为“DS ”的学生学号与姓名; (4)检索选修课程号为C2或C4的学生学号; (5)检索至少选修课程号为C2和C4的学生学号; (6)检索不学C2课的学生姓名和年龄; (7)检索学习全部课程的学生姓名; (8)查询所学课程包含学生S3所学课程的学生学号。 (1)检索计算机系的全体学生的学号,姓名和性别; SELECT Sno ,Sname ,Sex FROM S WHERE Sdept =’CS ’; (2)检索学习课程号为C2的学生学号与姓名; (1)首先在C 表中找出“DS ”课程的课程号Cno ; (2)然后在SC 表中找出Cno 等于第一步给出的Cno 集合中的某个元素Cno ; (3)最后在S 关系中选出Sno 等于第二步中Sno 集合中某个元素的元组,取出Sno 和Sname 送入结果表列。 SELECT Sno ,Sname FROM S WHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM C WHERE Cname=‘DS ’)); (4)检索选修课程号为C2或C4的学生学号; SELECT Sno FROM SC WHERE Cno=‘C2’ OR Cno=‘C4’; (5)检索至少选修课程号为C2和C4的学生学号; SELECT Sno FROM SC X ,SC Y WHERE X.Sno=Y.Sno AND https://www.wendangku.net/doc/2f2345793.html,o=‘C2’ AND https://www.wendangku.net/doc/2f2345793.html,o=‘C4’ ; (6)检索不学C2课的学生姓名和年龄; 有学。 SELECT Sname FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.Sno=S.Sno AND https://www.wendangku.net/doc/2f2345793.html,o=https://www.wendangku.net/doc/2f2345793.html,o )); (8)查询所学课程包含学生S3所学课程的学生学号。 分析:不存在这样的课程Y ,学生S3选了Y ,而其他学生没有选。 SELECT DISTINCT Sno FROM SC AS X WHERE NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.Sno=‘S3’ AND NOT EXISTS (SELECT * FROM SC AS Z WHERE Z.Sno=X.Sno AND https://www.wendangku.net/doc/2f2345793.html,o=https://www.wendangku.net/doc/2f2345793.html,o )); 设教学数据库Education 有三个关系: 学生关系S (SNO ,SNAME ,AGE ,SEX ,SDEPT ); 学习关系SC (SNO ,CNO ,GRADE ); 课程关系C (CNO ,CNAME ,CDEPT ,TNAME ) 查询问题: 1:查所有年龄在20岁以下的学生姓名及年龄。 2:查考试成绩有不及格的学生的学号 3:查所年龄在20至23岁之间的学生姓名、系别及年龄。 4:查计算机系、数学系、信息系的学生姓名、性别。 5:查既不是计算机系、数学系、又不是信息系的学生姓名、性别 6:查所有姓“刘”的学生的姓名、学号和性别。 7:查姓“上官”且全名为3个汉字的学生姓名。 8:查所有不姓“张”的学生的姓名。 9:查DB_Design 课程的课程号。 10:查缺考的学生的学号和课程号。 11:查年龄为空值的学生的学号和姓名。 12:查计算机系20岁以下的学生的学号和姓名。 13:查计算机系、数学系、信息系的学生姓名、性别。 14:查询选修了C3课程的学生的学号和成绩,其结果按分数的降序排列。 15:查询全体学生的情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。 16:查询学生总人数。 17:查询选修了课程的学生人数。 18:计算选修了C1课程的学生平均成绩。

实验2 数据管理与查询(一)

南京财经大学 数据结构与数据库系统 实验报告书 实验2 SQL 语言——数据定义、管理与查询(一) 专业:统计学 学号:1102110220 姓名:王靓雅 任课老师:戴华 学院:经济学院 2012年11 月 1 日

一实验目的 1 熟悉SQL语言的数据定义、管理和查询 二实验平台 1 操作系统:Windows XP 2 数据库管理系统:Access 和SQL Server 2000 三实验内容及要求 1 在SQL Server中,创建数据库“School”,在School数据库中利用Create语句创建教科书P82页中给出的Student、Course和SC表(注意保持关系表之间 的外码依赖关系)。 2 利用Insert语句在Student、Course和SC表中插入P82页中给出三个表的所有元组。 3 完成如下查询: (1) 查询计算机系(CS)中所有男生的姓名和学号,并按学号降序排列 (2) 查询“信息系统”课程的先行课程的学分 (3) 查询姓“刘”的学生的学号、姓名、性别和专业信息 (4) 查询2号课程成绩为优秀(≥90)的学号和成绩 (5) 查询2002级学生的总人数信息 (6) 分组查询各系的学生总人数,输出系名和总人数 (7) 分组查询各课程的平均成绩,输出课程号和平均成绩 (8) 查询计算机系学生的姓名和各课程的成绩 (9) 查询至少有2门课程的成绩为良好(≥80并且<90)的学生的学号 四实验过程和结果 (注:对于实验内容中的9个查询,请写出对应的关系代数表达式、SQL查询语句和查询结果) 首先用creat语句创建student,course,sc表 use school

大数据服务平台功能简介

大数据服务平台简介 1.1建设目标 大数据服务平台以“整合资源、共享数据、提供服务”为指导思想,构建满足学校各部门信息化建设需求,进而更好为广大师生、各级管理人员、院领导等角色提供集中、统一的综合信息服务。因此, 要建设大数据服务平台 主要包括综合查询,教学、科研、人事、学生、图书、消费、资产、财务等数据统 计分析和数据采集终端(含数据录入及数据导入)。通过此平台为学校的校情展示提供所需的基础数据,为学校的决策支持积累所需的分析数据,为广大师生、各级管理人员、校领导的综合信息服务提供所需的开发数据,为学校的应用系统建设提供所需的公共数 据。 1.2建设效益 协助领导决策、提供智能分析手段 通过建设大数据服务平台: 为校领导提供独特、集中的综合查询数据,使校领导能够根据自身需要随时查询广大师生的个人情况,有助于校领导及时处理广大师生的各种诉求。 为校领导提供及时、准确的辅助决策支持信息,使校领导能够全面掌握多方面的信息,有助于校领导提高决策的科学性和高效性(以往各部门向校领导提供的信息往往只 从部门角度考虑,而校领导无法及时获取多方面的信息,无法及时做出决策)。

为校领导提供丰富、全面的校情展示数据,使校领导能够实时掌握教学、科研、人事、 学生、图书、消费、资产、财务等情况,有助于校领导制定学校未来发展战略。 为校领导提供教育部《普通高等学校基本办学条件指标》检测报表,包括具有高级职务教师占专任教师的比例、生均占地面积、生均宿舍面积、百名学生配教学用计算机台数、百名学生配多媒体教室和语音实验室座位数、新增教学科研仪器设备所占比例、生均年进书量。对提高教学质量和高等学校信息化程度等具有积极的指导作用。 1.3建设内容 基于中心数据库,将学校长期以来积累的大量管理数据以一种多维的形式进行重新组织,多层次、多维度的整合、挖掘和分析,从各个层面、各个角度充分展示学校的办学理念、教学质量、科研水平、师资队伍、学生风貌、后勤保障、办学条件等,为各级管理人员、校领导科学决策提供强有力的技术保障与数据支持。 1、信息查询 包括教职工信息查询和学生信息查询 教职工信息查询 教职工信息查询功能包括部门人员统计,教职工信息查询(含列表图和缩略图),教 职工信息明细查询(含学历学位、职称、行政职务、工作经历、进修学习、社会兼职、 荣誉获奖、家庭关系、科研项目、学术论文、学术著作、知识产权、获奖成果、薪酬待遇、图书借阅、一卡通消费等)0

Oracle数据库查询练习及答案

1 找出佣金高于薪金60%的雇员。 SELECT * FROM emp WHERE comm>sal*; 2 找出部门10中所有经理和部门20中所有办事员的详细资料。 SELECT * FROM emp WHERE deptno=10 AND JOB='MANAGER' OR deptno=20 AND job='CLERK'; 3 找出部门10中所有经理,部门20中所有办事员以及既不是经理又不是办事员但其薪金大于或等2000的所有雇员的详细资料。 SELECT * FROM emp WHERE deptno=10 AND JOB='MANAGER' OR deptno=20 AND job='CLERK' OR JOB NOT IN('MANAGER','CLERK') AND SAL>=2000; SELECT * FROM emp WHERE deptno=10 AND JOB='MANAGER' OR deptno=20 AND job='CLERK' OR (JOB<>'MANAGER' AND JOB<>'MANAGER' AND SAL>=2000); 4 找出收取佣金的雇员的不同工作。 SELECT DISTINCT JOB FROM EMP WHERE COMM IS NOT NULL; 5 找出不收取佣金或收取的佣金低于300的雇员。 SELECT * FROM EMP WHERE COMM IS NULL OR COMM<300; 6 找出各月最后一天受雇的所有雇员。 SELECT * FROM EMP WHERE HIREDATE=LAST_DAY(HIREDATE); --找出各月最后受雇的所有雇员 SELECT * FROM emp WHERE hiredate IN (SELECT maxh FROM (SELECT MAX(HIREDATE) maxh,EXTRACT(MONTH FROM hiredate)FROM EMP GROUP BY EXTRACT(MONTH FROM hiredate))); 7 找出晚于26年之前受雇的雇员。 SELECT * FROM emp WHERE months_between(SYSDATE,hiredate)<=26*12; 8 显示只有首字母大写的的所有雇员的姓名。 SELECT * FROM emp WHERE ename=initcap(ename); 9 显示正好为5个字符的雇员的姓名。 SELECT * FROM emp WHERE length(ename)=5; 10显示不带有“R”的雇员姓名。 SELECT * FROM emp WHERE instr(ename,'R')=0; SELECT * FROM emp WHERE ename NOT LIKE '%R%'; 11显示所有雇员的姓名的前三个字符。 SELECT substr(ename,1,3) AS en3 FROM emp; 12显所有雇员的姓名,用a替换所有“A”。

5-数据查询与汇总操作手册

数据查询、汇总功能操作手册 (京云万峰) 第一章基层数据查询 (2) 一、基本功能介绍 (2) 二、实例演示 (2) (一)查询本月原煤产量大于零的企业 (2) (二)查询调整了上年同期原煤产量的企业 (3) (三)查询在某个列变量中的企业 (3) (四)文字计算列的使用 (4) 三、查询模板的创建与管理 (4) 第二章数据汇总 (6) 一、基本功能简介 (6) 二、汇总表的操作 (6) (一)常规汇总表 (6) (二)自定义汇总表 (8) (三)批量任务的创建与管理 (9) 三、汇总表的制作 (10)

第一章基层数据查询 一、基本功能介绍 数据查询提供对统计调查制度中基层表的查询功能,通过报表单位、期别来查询对应的基层表数据。 点击“数据审核”列表下的“数据验收”,进入查询页面。 用户选择好制度、期别类型和报告期后,查询出对应条件下的基层表。 点击报表名称后进入该报表查询页面,然后点击左侧地区树,显示查询结果列表。在列表处点击“查看”可以查看该表数据。 若查询的报表或者关联报表包含有不定长的二维表的数据,进行查询的时候还可以通过“选择子表”,对相应的子表进行查询,默认子表是“子表1”。 点击查看进入企业的相关报表,可以对查看的结果进行审核,并对验收结果进行查看等。 二、实例演示 下面将以查询实例的形式具体介绍如何按过滤条件进行查询。 (一)查询本月原煤产量大于零的企业 进入“数据验收”下205-6表页面后,首先选择显示列,在本例中要求显示企业法人码、处理地代码、单位详细名称和综合能源消费量等指标。点击“选择指标”按钮进入指标选择界面,页面分为左右两侧,左侧为所有可选择的指标,右侧为已选择的指标。系统默认列出企业法人码、处理地代码和单位名称,尚需加入本月原煤产量,在页面左侧选中“产品产量;本年;本月;原煤;吨”指标,将其添加至显示指标中。点击“确定”退出指标选择页面。 点击“更多过滤条件”,跳出条件设臵页面,可以看到,页面主要部分为所选报表,左侧有两列运算关系列表,页面左下为计算列管理功能区,具体功能将在接下来的示例中介绍。 回到本例,在报表界面中找到“本月原煤产量”指标,双击之,报表下方的公式编辑区中出现“r(205-6)[行1][列3]”的字样,即表明指标内容已添加至公式编辑区。在左侧运算关系列表中选择“大于”按钮,单击,手动输入“0”,此

SQL的数据查询功能之二简单查询

二、简单查询 1. 选择表中的若干列 (1)查询指定列 例5 查询全体学生的学号与姓名 SELECT Sno,Sname FROM Student; <目标列表达式> 中各个列的先后顺序可以与表中的顺序不一致。也就是说,用户在查询时可以根据应用的需要改变列的显示顺序。 例6 查询全体学生的姓名、学号、所在系 SELECT Sname, Sno, Sdept FROM Student; 结果表中的列的顺序与基表中不同,是按查询要求,先列出姓名属性,然后再列学号属性和所在系属性。 (2)查询全部列 例7 查询全体学生的详细记录 SELECT * FROM Student; 该SELECT语句实际上是无条件地把Student表的全部信息都查询出来,所以也称为全表查询,这是最简单的一种查询。 (3)查询经过计算的值

SELECT子句的<目标列表达式>不仅可以是表中的属性列,也可以是有关表达式,即可以将查询出来的属性列经过一定的计算后列出结果。 例8 查询全体学生的姓名及其出生年份 SELECT Sname, 2004-Sage FROM Student; 本例中,<目标列表达式>中第二项不是通常的列名,而是一个计算表达式,是用当前的年份(假设为2004年)减去学生的年龄,这样,所得的即是学生的出身年份。输出的结果为: Sname ------ ---------- 李勇1976 刘晨1977 王名1978 张立1978 不仅可以是算术表达式,还可以是字符串常量、函数等。 例9 查询全体学生的姓名、出生年份和所有系 SELECT Sname, 'Year of Birth:', 2004-Sage 出生年份FROM Student; 结果为: Sname 出生年份 ------ ------------------------- 李勇Year of Birth: 1976

实验2-数据查询的简单操作

实验2数据库的简单查询 一、实验目的 掌握单表查询中各个子句(Select、From、Where、Group、Having、Order)的用法,特别要掌握比较运算符和逻辑运算符的使用。 二、实验环境 Windows XP操作系统,SQL Server 2005软件。 三、实验课时 2课时。 四、实验内容 在已建立的数据库和数据表的基础上,用Select语句完成下列查询操作。 1、查询全体学生的学号和姓名。 SELECT sno,sname FROM student; 2、查询全体学生的所有基本信息(仅针对Student表)。 SELECT* FROM student; 3、对SC表查询全体学生的选课记录,在显示结果中为“Grade”列增加5分。SELECT sno,cno,grade=grade+5 FROM sc; 4、查询全体学生的学号和姓名,将原来的英文列名设置中文别名。 SELECT sno AS学号,sname AS姓名 FROM student; 5、显示所有选课学生的学号,去掉重复结果。 SELECT DISTINCT sno FROM sc; 6、查询成绩在80分以上的学生选课记录。 SELECT* FROM sc WHERE grade>80;

7、查询经济系所有学生的学号和姓名。 SELECT sno,sname FROM student WHERE sdept='经济'; 8、查询成绩在80~90分的学生选课记录。 SELECT* FROM sc WHERE grade BETWEEN 80 AND 90; 9、查询年龄不在22~25的学生记录。 SELECT* FROM student WHERE sage NOT BETWEEN 22 AND 25; 10、查询所有姓“刘”的学生记录。 SELECT* FROM student WHERE sname LIKE'刘%'; 11、查询无考试成绩(成绩为空值)的学号、课程号。SELECT sno,cno FROM sc WHERE grade IS NULL; 12、查询考试成绩非空值的学号、课程号。 SELECT sno,cno FROM sc WHERE grade IS NOT NULL; 13、查询数学系年龄小于20岁的学生记录。 SELECT* FROM student WHERE sdept='数学'AND sage<20; 14、查询选修了“101”或“102”课程的选课记录。SELECT* FROM sc WHERE cno in('101','102');

数据库SQL查询例题及解答

1 实验目的 1.熟悉数据库的交互式SQL工具。 2.熟悉通过SQL对数据库进行操作。 3.完成作业的上机练习。 2 实验工具sql server 利用Sql server及其交互式查询工具-查询分析器来熟悉SQL。 3 实验内容和要求 1)实验内容: 创建数据库boat,包括Sailors,Boats,Reserves三个表,表结构如下: Sailors(sid: integer, sname: string, rating: integer, age: real) 船员(船员编号,,级别,年龄) Boats(bid: integer, bname: string, color: string) 船(船编号,名称,颜色) Reserves(sid: integer, bid: integer, day: date) 租赁(船员编号,船编号,日期) (注:下划线表示主键),并插入一定数据。 2)完成下列要求:

(1)查询所有船员的信息 (2)查询所有姓王的船员的信息 (3)查询租用过103号船的船员姓名 (4)查找租用过船只的船员编号 (5)查找rating>7且年龄>25的水手编号 (6)查找租用过红船和绿船的水手名字 (7)查找租用过红船或绿船的水手编号 (8)查找最年长的水手的年龄和名字 (9)在18岁以上水手中,对于每个rating级别中最少有两个水手以上的组中最年轻水手的年龄 (10)查找每条红色船只被租用的次数 (11)把30岁以上船员的级别调高一级 (12)删除所有年龄超过40岁的船员信息 (13)建立年龄超过25岁的船员的视图 (14)对(13)建立的视图,举一操作的例子(查询、删除、修改均可) 2)要求: a.建立boat数据库的SQL脚本,插入所有数据项的SQL脚本(包括所有的测试数据)。 b.记录完成查询要求的SQL语句脚本。 c.记录完成查询的查询结果。

SQL的数据查询功能之三---多表连接查询

一个数据库中的多个表之间一般都存在某种内在联系,它们共同提供有用的信息。前面的查询都是针对一个表进行的。若一个查询同时涉及两个以上的表,则称之为连接查询。连接查询主要包括内连接、外连接和交叉连接。 1.内连接 内连接是一种最常用的连接类型,使用内连接是,如果两个表的相关字段满足连接条件则从这两个表中提取数据并组合成新的记录。 当连接运算符为=时,称为等值连接。使用其它运算符称为非等值连接。 连接谓词中的列名称为连接字段。连接条件中的各连接字段类型必须是可比的,但不必是相同的。例如,可以都是字符型,或都是日期型;也可以一个是整型,另一个是实型,整型和实型都是数值型,因此是可比的。但若一个是字符型,另一个是整数型就不允许了,因为它们是不可比的类型。 从概念上讲DBMS执行连接操作的过程是,首先在表1中找到第一个元组,然后从头开始顺序扫描或按索引扫描表2,查找满足连接条件的元组,每找到一个元组, 就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。表2全部扫描完毕后,再到表1中找第二个元组,然后再从头开始顺序扫描或按索引扫描表2,查找满足连接条件的元组,每找到一个元组, 就将表1中的第二个元组与该元组拼接起来,形成结果表中一个元组。重复上述操作,直到表1全部元组都处理完毕为止。 例38 查询每个学生及其选修课程的情况 学生情况存放在Student表中,学生选课情况存放在SC表中,所以本查询实际上同时涉及Student与SC 两个表中的数据。这两个表之间的联系是通过两个表都具有的属性Sno实现的。要查询学生及其选修课程的情况,就必须将这两个表中学号相同的元组连接起来。这是一个等值连接。完成本查询的SQL语句为: SELECT * FROM Student JOIN SC ON Student.Sno=SC.Sno; 如果是按照两个表中的相同属性进行等值连接,且目标列中去掉了重复的属性列,但保留了所有不重复的属性列,则称之为自然连接 例39 自然连接Student和SC表 SELECT Student.Sno, Sname, Ssex, Sage, Sdept, Cno, Grade FROM Student INNER JOIN SC ON Student.Sno=SC.Sno; 在本查询中,由于Sname、 Ssex、 Sage、Sdept、Cno和Grade属性列在Student与SC表中是唯一的,因此引用时可以去掉表名前缀。而Sno在两个表都出现了,因此引用时必须加上表名前缀。该查询的执行结果不再出现SC.Sno列。 例40 查询选修2号课程且成绩在90分以上的所有学生 SELECT Student.Sno, Sname FROM Student INNER JOIN SC ON Student.Sno=SC.Sno WHERE https://www.wendangku.net/doc/2f2345793.html,o='2' AND SC.Grade>90; 例41 查询每个学生及其选修的课程名其及成绩 SELECT Student.Sno, Sname, https://www.wendangku.net/doc/2f2345793.html,ame, SC.Grade FROM Student S INNER JOIN ON S.Sno=SC.Sno JOIN Course C ON https://www.wendangku.net/doc/2f2345793.html,o=https://www.wendangku.net/doc/2f2345793.html,o; 2.自身连接 连接操作不仅可以在两个表之间进行,也可以是一个表与其自己进行连接,这种连接称为表的自身连接。例42 查询与刘晨在同一个系学习的学生的姓名和所在系 为清楚起见,我们可以为Student表取两个别名,一个是S1,另一个是S2,也可以在考虑问题时就把Course

相关文档