求数学系或计算机系姓张的学生的信息,实验二数据库的简单查询和连接查询.docx...
贵州大学实验报告
学院:计算机科学与信息学院 专业:信息安全 班级:
姓名
学号
实验组
实验时间
指导教师
成绩
实验项目名称
数据库的简单查询和连接查询
实验目的
使学生掌握SQL Server 查询分析器的使用方法,加深对SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
实验要求
本实验属于验证型实验,通过实验,加强对课堂讲授知识的理解。开始实验前,必须进行预习,写出实现所有查询要求的SQL语句。实验过程中,先集中由老师进行具体要求和注意事项的讲解,然后各自独立在机器上完成实验。实验过程中出现问题,在实验指导老师帮助下解决。
实验原理
1、将查询需求用SQL语言表示。
2、在SQL Server查询分析器的输入区中输入SQL查询语句。
3、设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。
4、发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。
5、查询分析器及使用方法
查询分析器是在开发数据库应用系统时使用最多的工具。查询分析器的主要作用是编辑SQL语句,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。查询分析功能主要通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。
在查询分析器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。对于SQL语句的执行结果,在结果区中可以有4中不同的输出形式;标准执行将结果直接显示在结果区;网格执行将结果以表格形式显示在结果区;计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。上述输出形式,可以通过菜单或按钮选择。
实验仪器
(1)硬件条件:个人计算机。
(2)软件条件:Windows 2000NT Server; MS SQL Server 2000。
实验步骤
1、基本操作实验
(1)简单查询实验
1)用SQl语句表示下列操作,在学生选课库中实现其数据查询操作。
①求数学系学生的学号和姓名。
②求选修了课程的学生学号。
③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
④求选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
⑤求数学系或计算机系姓张的学生的信息。
⑥求缺少了成绩的学生的学号和课程号。
2)在图书读者库中实现其查询操作:将计算机类的书存入永久的计算机图书表中,将借书日期在2000年以前的借阅记录存入临时的超期借阅表。
(2)连接查询实验
用SQL语句表示,并在学生选课库中实现下列数据连接查询操作:
①查询每个学生的情况以及他所选修的课程。
②求学生的学号、姓名、选修的课程名及成绩。
③求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
④查询每一门课的间接先行课(即先行课的先行课)。
2、提高操作实验
(1)按如下表的格式,建立职工部门库和职工表、部门表,并向表中输入数据。
职工表(ZG)
职工号(zgh)
姓名(xm)
性别(xb)
年龄(nl)
所在部门(bmh)
1010
李勇
男
20
11
1011
刘晨
女
19
1012
王敏
女
22
12
1014
张立
男
21
13
部门表(BM)
部门号(bmh)
部门名称(bmmc)
电话(dh)
11
生产科
566
12
计划科
578
13
一车间
467
14
科研所
(2)用SQL语句表示职工和部门之间的内连接、左外部连接和右外部连接,在职工部门库中实现其数据内连接和各种外查询操作。
实验内容
1、简单查询操作
该实验包括投影、选择条件表达式、数据排序、使用临时表等。
2、连接查询操作
该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。
实验数据
1、基本操作实验
(1)简单查询实验
1)用SQl语句表示下列操作,在学生选课库中实现其数据查询操作。
①求数学系学生的学号和姓名。
Select Number,Name from Student where Academy=’数学系’
②求选修了课程的学生学号。
select Number from Student where exists (select * from Selection where Student.Number=Selection.Snumber)
或select distinct Snumber from Selection(更加高效)
③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
select Snumber,Score from Selection,Course where Cnumber=Number and Name=C1 order by Snumber asc
④求选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
select Snumber,Score*0.8 Score from Selection,Course where Cnumber=Number and Name=C1 and Score>80 and Score<90
⑤求数学系或计算机系姓张的学生的信息。
select * from Student where Name like 张% and (Academy=数学系 or Academy=计算机系)
⑥求缺少了成绩的学生的学号和课程号。
select Snumber,Cnumber from Selection where Score is null
2)在图书读者库中实现其查询操作:将计算机类的书存入永久的计算机图书表中,将借书日期在2000年以前的借阅记录存入临时的超期借阅表。
insert into CB(Number,Name,Category,Press,Author,Price)
select Number,Name,Category,Press,Author,Price from Book where Category=计算机
CREATE TABLE #TB(
Bnumber char(20),
Rnumber char(20),
Bdate date,
ID char(10) primary key)
go
insert into #TB(Bnumber,Rnumber,Bdate,ID) select Bnumber,Rnumber,Bdate,ID from Borrow where
Bdate<2000/01/01
(2)连接查询实验
用SQL语句表示,并在学生选课库中实现下列数据连接查询操作:
①查询每个学生的情况以及他所选修的课程。
select * from Student left join Selection on (Student.Number=Selection.Snumber)
②求学生的学号、姓名、选修的课程名及成绩。
select Student.Name,Student.Number,Course.Name CourseName,Selection.Score from Student,Course,Selection where Student.Number=Snumber and Course.Number=Cnumber
③求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
select Student.Name,Student.Number,Selection.Score from Student,Course,Selection where Student.Number=Snumber and Course.Number=Cnumber and Course.Name=C1 and score>90
④查询每一门课的间接先行课(即先行课的先行课)。
select C1.Number,C1.Name,C2.Front Indirect,C3.Name FCName from Course C1,Course C2,Course C3 where C1.Front=C2.Number and C2.Front=C3.Number
2、提高操作实验
(1)按如下表的格式,建立职工部门库和职工表、部门表,并向表中输入数据。
create database ZGBM
go
use ZGBM
create table ZG(
zgh char(4) primary key,
xm nchar(8),
xb nchar(1) check (xb=男 or xb=女),
nl int,
bmh char(4)
)
create table BM(
bmh char(2) primary key,
bmmc char(10),
dh char(5)
)
(2)用SQL语句表示职工和部门之间的内连接、左外部连接和右外部连接,在职工部门库中实现其数据内连接和各种外查询操作。
内连接:select * from ZG,BM where ZG.bmh=BM.bmh
左外部连接:select * from ZG left join BM on (ZG.bmh=bm.bmh)
右外部连接:select * from ZG right join BM on (ZG.bmh=bm.bmh)
思考题
1、写出实现所有查询要求的SQL语句。
答:上述实验数据中已写。
实验总结
实验很简单,只是将书本上的只是进行运用而已,需要注意书上的部分SQL语句和MS SQL Sever中的SQL语句的不同。如left out join(书)和left join(MS SQL Sever)。
指导教师意见
签名: 年 月 日
注:各学院可根据教学需要对以上栏目进行增减。表格内容可根据内容扩充。
11
展开阅读全文
求数学系或计算机系姓张的学生的信息,实验二数据库的简单查询和连接查询.docx...相关推荐
- 求数学系或计算机系姓张的学生的信息,数据库原理实验三 - 图文
实验三.数据库的简单查询和连接查询实验 班级: 学号: 姓名: 日期:12月18日 1. 实验目的 了解SQL Server 查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句 ...
- 求数学系或计算机系姓张的学生的信息,数据库实验三
数据库上机实验三 计算机与信息学院实验报告 系: 专业: 年级: 姓名: 学号: 22 实验室号 计算机号 22 实验时间: 2013年10月29日 指导教师签字: 成绩: 报告退发 (订正 . 重做 ...
- 求数学系或计算机系姓张的学生的信息,西安财经学院信息学院实验报告实验四郑莹莹1005230303.pdf...
西安财经学院信息学院实验报告实验四郑莹莹1005230303.pdf 西安财经学院 姓名 郑莹莹 西安财经学院 西西安安财财经经学学院院信息学院 1005230303 1005230303 学号 11 ...
- 数据库 查询计算机系姓王,数据库实验3简单查询和连接查询
实验2数据库简单查询 一.实验目的 1.掌握SQL查询语句的基本语法与用法.熟练掌握简单表的数据查询 2.掌握数据库表的各种连接查询,包括内连接和外连接查询 二.实验内容 (一)数据库和表及表中的数据 ...
- java 找出姓“张”的学生,将他们的信息写入第二个文件
一.需求 编写一个Java源程序,其中包含: 编写一个包含主方法main的公共类(访问权限为public的类),主方法main中完成的任务是: (1)从键盘上输入两个文件的路径名及其文件名. (2)从 ...
- sql查询计算机系学生的学号和姓名,实验5数据库的简单查询操作答案.docx
(6) 从学生信息表中查询计算机系年龄小于 (6) 从学生信息表中查询计算机系年龄小于 20 的学生的信息 SQL 代码如下: (2) (2) 从学生信息表中查询所有学生的姓名和学号信息并分别 实验 ...
- mysql求表中年龄同张三,mysql子查询与连接查询
表结构以及数据: CREATE TABLE`student` ( `id`int(11) NOT NULLAUTO_INCREMENT, `name`varchar(255) CHARACTER SE ...
- 中查出所有姓张的学生为啥查不出来_只有笔试成绩没有面试成绩是什么原因 教师资格面试成绩怎么查...
[闽南网] 对于很多同学来说,今晚是个不眠夜.就在几个小时前,教师资格证面试成绩查询入口开通了,相比之前发布的消息,成绩公布提前了很多.参加了这次教师资格证考试的同学,一得到消息就忙着查成绩,毕竟面试 ...
- 《学生考勤信息管理系统》数据库课程设计
目录 一. 需求分析 前台功能模块 后台功能模块 1.1 功能模块的划分及介绍 1.2 实体及重要属性 1.3 业务流程图 二. 概念结构设计 2.1. E-R图的设计 三 .逻辑结构设计 表设计 ...
最新文章
- OnItemCommand属性使用方法
- 解决由于没有办理权限导致的403,权限不足
- CentOS系统VMware克隆后 重新设置成eth0
- 设计模式学习笔记1——类与类之间的关系
- Android 系统(66)---Android硬件加速相关问题总结
- 虚拟机安装日志服务器,rsyslog日志服务器搭建
- Docker最佳实践:构建最小镜像
- 148. php in_array()
- WSS3 Elevation of Privilege 替代 用户身份模拟Impersonate 进行权限提升
- 宋浩 概率统计 笔记_《深入浅出统计学》-读书笔记-排列与组合
- 左倾红黑树(Left-Leaning Red-Black Trees:LLRBT)解析
- dht11 java_树莓派使用DHT11温湿度传感器
- python爬虫(十三)selenium(Selenium入门、chromedriver、Phantomjs)
- 正大国际期货:为什么外盘期货顺势交易这么难
- 【arduino 问题记录】 psram: PSRAM ID read error: 0xffffffff
- 一起作业网 肖盾:如何打动投资人,说服老师,造福学生
- Krpano(虚拟漫游)
- Photoshop脚本 蒙尘与划痕滤镜的使用
- 大数据分析:结合 Hadoop或 Elastic MapReduce使用 Hunk
- 使用Python画动态图像
热门文章
- 面试题:高频前端面试题之CSS篇
- Centos7 配置静态 IP 地址
- iOS 连接外设的几种方式
- JVM设置Young Gen大小
- 分子模拟对接教程—带你从 0 到 1
- 个人永久性免费-Excel催化剂功能第96波-地图数据挖宝之全国天气查询(区域最细可到区县,最长预报4天)...
- 计算机网络故障的检测与排除,计算机网络故障诊断与排除(第3版)
- 腾讯市值1个月蒸发1700亿美元;微软发布Windows 11 首个Beta版本; 恶意程序开发者转向新兴编程语言 | 架构视点...
- 1北方更冷的城镇,是你想要的吗?
- 计算机里的小游戏在哪,windows10游戏在哪里_win10电脑自带的游戏在哪里