实验3 数据库综合查询
实验3 数据库综合查询
一、实验目的
- 掌握SELECT语句的基本语法和查询条件表示方法;
- 掌握查询条件种类和表示方法;
- 掌握连接查询的表示及使用;
- 掌握嵌套查询的表示及使用;
- 了解集合查询的表示及使用。
二、实验环境
已安装SQL Server 2012 Express (或SQL Server 2017 Express)的计算机。
三、实验学时
2学时
四、实验内容及步骤
1.请使用Management Studio界面方式或T-SQL语句实现进行以下操作:
新建一个数据库“S_T”,新建3张表,并向各个数据表中插入如下记录(可使用附件中的sql脚本直接插入数据):
学生信息表(Student)
Sno | Sname | Ssex | Sage | Sdept |
200515001 | 赵菁菁 | 女 | 23 | CS |
200515002 | 李勇 | 男 | 20 | CS |
200515003 | 张力 | 男 | 19 | CS |
200515004 | 张衡 | 男 | 18 | IS |
200515005 | 张向东 | 男 | 20 | IS |
200515006 | 张向丽 | 女 | 20 | IS |
200515007 | 王芳 | 女 | 20 | CS |
200515008 | 王民生 | 男 | 25 | MA |
200515009 | 王小民 | 女 | 18 | MA |
200515010 | 李晨 | 女 | 22 | MA |
200515011 | 张毅 | 男 | 20 | WM |
200515012 | 杨磊 | 女 | 20 | EN |
200515013 | 李晨 | 女 | 19 | MA |
200515014 | 张丰毅 | 男 | 22 | CS |
200515015 | 李蕾 | 女 | 21 | EN |
200515016 | 刘阳 | 男 | 21 | CM |
200515017 | 刘星耀 | 男 | 18 | CM |
200515018 | 李贵 | 男 | 19 | EN |
200515019 | 林自许 | 男 | 20 | WM |
200515020 | 马翔阳 | 男 | 21 | |
200515021 | 刘峰 | 男 | 25 | CS |
200515022 | 牛站强 | 男 | 22 | |
200515023 | 李婷婷 | 女 | 18 | |
200515024 | 严丽 | 女 | 20 | |
200515025 | 朱小鸥 | 女 | 30 | WM |
课程信息表(Course)
Cno | Cname | Cpno | Ccredit |
1 | 数据库 | 5 | 4 |
2 | 数学 | 2 | |
3 | 信息系统 | 1 | 4 |
4 | 操作系统 | 6 | 3 |
5 | 数据结构 | 7 | 4 |
6 | 数据处理 | 2 | |
7 | PASCAL语言 | 6 | 4 |
8 | 大学英语 | 4 | |
9 | 计算机网络 | 4 | |
10 | 人工智能 | 2 |
选课信息表(SC)
Sno | Cno | Grade |
200515001 | 1 | 75 |
200515002 | 1 | 85 |
200515002 | 3 | 53 |
200515003 | 1 | 86 |
200515004 | 1 | 74 |
200515005 | 1 | 58 |
200515006 | 1 | 84 |
200515004 | 2 | 46 |
200515005 | 2 | 89 |
200515006 | 2 | 65 |
200515008 | 2 | 72 |
200515009 | 2 | 76 |
200515010 | 2 | 96 |
200515010 | 8 | 86 |
200515011 | 8 | 62 |
200515015 | 8 | 0 |
200515018 | 8 | 58 |
200515001 | 4 | 62 |
200515002 | 4 | 85 |
200515021 | 9 | 54 |
200515001 | 5 | 58 |
200515021 | 6 | 58 |
200515001 | 7 | 70 |
200515005 | 10 | 65 |
200515020 | 1 | 78 |
200515020 | 5 | 80 |
200515016 | 8 | Null |
200515017 | 8 | Null |
在以上数据基础上,请使用T-SQL语句实现进行以下操作,并给出执行结果(注意:T-SQL语句直接填写在本文档中,仅执行结果以截图形式附在T-SQL语句后面):
- 查询名字中第2个字为‘向’的学生姓名和学号及选修的课程号、课程名;
SELECT Sname,Student.Sno,Course.Cno,CnameFROM Student,Course,SCWHERE Student.Sno = SC.Sno AND SC.Cno = Course.cno AND Sname like '_阳%'
2.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;
SELECT Student.Sname,Student.Sno,avg(SC.Grade) SavgFROM Student,SCWHERE Student.Sno = SC.Snogroup by Student.Sno,Student.Snamehaving avg(SC.Grade)>(select avg(SC.Grade)from Student,scwhere Student.Sname = '张力' and Student.Sno = SC.Sno))
3.按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。其中已修学分为考试已经及格的课程学分之和;
SELECT Student.Sno,Sname,Sdept,sum(Ccredit) 已修学分FROM Student,SC,CourseWHERE Student.Sno = SC.Sno AND SC.Cno = Course.Cno AND Grade>=60group by Student.Sno,Student.Sname,Sdept
4.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;
SELECT Student.Sno,Sname,SC.CnoFROM Student,SCWHERE Student.Sno = SC.Sno AND SC.Sno in(select SC.SnoFROM Student,SCwhere Cno in(select Cnofrom SC,Studentwhere SC.Sno = Student.Sno and Sname = '张力'))
5.查找至少选修了“数据库”和“数据结构”课程的学生的基本信息;
SELECT distinct Student.*FROM Student,SC,CourseWHERE Student.Sno = SC.Sno and SC.Cno = Course.Cno and Cname = '数据库'and SC.Sno in(select SC.Snofrom Course,SCWHERE Course.Cno = SC.Cno and Cname = '数据结构')
6.查找只选修“数据库”和“数据结构”两门课程的学生的基本信息;
SELECT distinct Student.*FROM Student,SC,CourseWHERE Student.Sno = SC.Sno and SC.Cno = Course.Cnogroup by Student.Sno,Student.Sname,Student.Ssex,Student.Sdept,Student.Sagehaving COUNT(Cname)=2intersectSELECT distinct Student.*FROM Student,SC,CourseWHERE Student.Sno = SC.Sno and SC.Cno = Course.Cno and Cname = '数据库'intersectSELECT distinct Student.*FROM Student,SC,CourseWHERE Student.Sno = SC.Sno and SC.Cno = Course.Cno and Cname = '数据结构'
7.检索所学课程包含学生‘张向东’所学课程的学生学号、姓名;
SELECT distinct Student.Sno,Student.SnameFROM Student,SCWHERE Student.Sno = SC.Sno and SC.Cno in(select SC.Cnofrom Student,SCwhere Student.Sno = SC.Sno and Student.Sname = '张向东')
8.使用嵌套查询查询其它系中年龄小于IS系的某个学生的学生姓名、年龄和院系;
SELECT Student.Sname,Student.Sage,Student.SdeptFROM StudentWHERE Student.Sdept<>'IS' and Student.Sage<any(select Student.Sagefrom Studentwhere Student.Sdept = 'IS')
9.使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;
SELECT Student.Sname,Student.Sage,Student.SdeptFROM StudentWHERE Student.Sdept<>'CS' and Student.Sage<all(select Student.Sagefrom Studentwhere Student.Sdept = 'CS')
10.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集;
SELECT Student.*FROM StudentWHERE Student.Sdept='CS'INTERSECTselect Student.*from Studentwhere Student.Sage!>19
相关文章:

Find Large Files in Linux
https://www.rosehosting.com/blog/find-large-files-linux/转载于:https://www.cnblogs.com/WCFGROUP/p/10328469.html

Linux统计行数命令wc(转)
Linux wc命令用于计算字数。 利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。 语法 wc [-clw][--help][--version][文件...] 参数 -c或--bytes或--chars …

There is no Citrix MetaFrame server configured on the specified address错误的解决方法
环境:windows server 2003 enterprise Citrix MetaFrame XP Server for Windows with Feature Release 3MetaFrame XP 1.0 Service Pack 4 for Windows 2003公网IP内网IP(有防火墙) 客户端:windows xp sp2Citrix MetaFrame Program Neighborhood Version 9.00.32649 错误描述:使…

Cisco交换机解决网络蠕虫病毒***问题
Cisco交换机解决网络蠕虫病毒***问题今年来网络蠕虫泛滥给ISP和企业都造成了巨大损失,截至目前已发现近百万种病毒及***。受感染的网络基础设施遭到破坏,以Sql Slammer为例,它发作时会造成丢包率为30%。我们如何在LAN上防范蠕虫?大…

实验4 数据的安全性管理
实验4 数据的安全性管理 一、实验目的 掌握SQL Server身份验证模式。掌握创建登录账户、数据库用户的方法。掌握使用角色实现数据库安全性的方法。掌握权限的分配。 二、实验内容 1、设置身份验证模式:Windows身份验证模式和混合模验证模式。 2、设置登录账户 …

scala构建工具sbt使用介绍
sbt工具下载及说明: https://www.scala-sbt.org/0.13/docs/zh-cn/Installing-sbt-on-Windows.html sbt是交互式构建工具,使用scala定义任务并执行它们 目录下启动 sbt,然后执行 run 命令进入到 sbt 的交互式命令 $ mkdir hello $ cd hello $ …

读书笔记--C陷阱与缺陷(三)
第三章 1. 指针与数组 书中强调C中数组注意的两点: 1) C语言只有一维数组,但是数组元素可以是任何类型对象,是另外一个数组时就产生了二维数组。数组大小是常数(但GCC实现了变长数组。。) 2) 一个数组只能做两…

[导入]儿子语录
2008.09.16:笑脸,笑脸,不笑脸,不笑脸,不高兴脸,不高兴脸。2008.09.19:爸爸是黄毛毛虫,我是绿毛毛虫,妈妈是紫毛毛虫,奶奶是咖啡色毛毛虫,太太是白…

ISA2006标准版,本地主机不能上网问题的解决一例
今天,帮一位朋友解决ISA SERVER2006标准版本地主机不能上网的问题,中间经历了一些困难,有点意思,故写了下来,供各位参考分享。一、安装环境:windows server 2003 sp2isa server 2006 标准版双网卡 外网卡固…

第8章系统服务(简易音频播放器的实现)
开发一个简易音乐播放器,要求实现: 综合使用Service,BroadCast,ContentProvider等组件实现后台播放。 播放和暂停、上一首、下一首、停止;后台播放功能, 按下返回键退出应用后再次打开应用,UI 显示应能与当…

await使用中的阻塞和并发(一)
好吧,不加点陈述不让发首页。那我们来陈述一下本篇提到的问题和对应的方法。 在.NET4.5中,我们可以配合使用async和await两个关键字,来以写同步代码的方式,实现异步的操作。 好处我目前看来有两点: 1.不会阻塞UI线程。…

中国经济是前所未有二元经济(转)
今天的中国是一个前所未有的二元经济,而且是三七开的二元经济,我国这么多年的经济发展,每一年GDP以10%的成长率增长的原因,就是二元经济的过热部门推动的,因此我们GDP的组成是非常扭曲的,超过一半都是固定资…

Unity 简单示例代码和向导/Unity Aplication Block
Unity 简单示例代码和向导 关于Unity 的说明和下载地址,请访问[微软控制反转和依赖注入容器Unity 1.0发布] http://forum.entlib.com/Default.aspx?gposts&t25 。 下面的范例主要实现:首先,定义ILogger 接口。然后,定义一个实…

crontab修改默认编辑器
$ sudo select-editor 选择3或者4 然后再次打开 crontab -e 就会是vim的方式了。 转载于:https://www.cnblogs.com/jiqing9006/p/10343035.html

Programming C# 学习笔记(二) 出发:“Hello World”
小序: 准备写这章的学习笔记了,啊,Hello World!多么亲切的语句,呵呵,当初学C语言的第一个程序就是输出它, 还记得费了好大劲终于把它输出来时候的那种兴奋感觉,真是让我怀念哦&a…

多IP绑定与多网卡绑定
多IP绑定: 实验目的: 实现如下图网络连接 实现 A, B 在分配不同网段的网络地址的情况下可以互联 实验条件有限,在没有交换机的情况下,将主机A ,B,路由器R1处于同一网络。将三台虚拟机的网络适配器设置为仅主…

华硕WL-500W无线路由器使用感受
作为一款实用型的家庭或小型企业应用的无线路由器,WL-500W有着独特的外观:<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office"…

什么是物联网网关?物联网网关具备什么功能?_转
参考:什么是物联网?物联网产业链体系深度分析 随着物联网概念的不断深入,商业级的网络应用遍地开花,各种智能家电层出不穷,改善着我们的生活。与此同时,物联网网关也将成为连接的重要纽带。作为网关设备&am…

MSDN Webcast“深入浅出ASP.NET AJAX系列”
课程: ASP.NET AJAX深入浅出系列课程(1):ASP.NET AJAX 概述(3月13日):对于ASP.NET AJAX的大致功能进行概述和演示,通过简单的演示让听众了解到ASP.NET AJAX框架的强大之处,以及对于开发带来的便…

技巧:结合Zabbix与SNMP监控嵌入式设备
在如何利用Zabbix监控网络设备三篇文章的前两篇中,我们介绍了如何通过Zabbix代理监控网络设备。但有些设备无法安装Zabbix代理,需要采用其他方法监控。需要考虑无法安装软件的嵌入式设备或应用程序。对于这些设备,可通过SNMP进行监控。 …

值得收藏的146条经典民间偏方
1、本贴所用药物,以食物为主,绝对无毒。 2、为使读者易懂,剂量单位均用旧制,如:斤、两、钱等,有的用碗,是指一般性中碗。 3、所用药物凡带有*记号的一般可到中药店买,药店都有。 4、…

DataGridView打印类
一下这个类专门用于打印DataGridView,但是功能不是很强大 如果有个性化需求 可在此基础上简单修改 Code 1public class DataGridViewPrint 2 { 3 private DataGridView dataGridView; 4 private PrintDocument printDocument; 5 private PageSetu…

Asp.Net Core AsyncLocal 异步上下文
引子 阅读以下代码,并尝试分析 代码解析 在主线程中,线程Id为1,为线程变量赋值 变量d6ff开启一个新的task,此时线程Id为4,变量d6ff,并调用Task1开启一个同步Task3,线程Id为1。变量d6ffÿ…

JDBC数据库操作
启动MySQL数据库服务 网络课堂中共享的MySQL 5.1压缩包下载后,直接在C盘根目录下解压后, 进入bin目录,执行“启动服务.cmd”即可启动服务器(如果未放在C盘根目 录下,需要修改配置文件my.ini和启动服务.cmd)…

mybatis学习7 实战项目
自己写一个实战项目,最好和hibernate做对比。转载于:https://www.cnblogs.com/liufei1983/p/7492214.html

凤凰网制作的 “中国挺住” 桌面与MSN,QQ头像下载
凤凰网制作的 “中国挺住” 桌面与MSN,QQ头像下载。 点击下载 转载于:https://www.cnblogs.com/yajiya/archive/2008/05/24/1206574.html

树莓派Android Things物联网开发:创建一个Things项目
【转载请注明出处: http://blog.csdn.net/leytton/article/details/77854144】《树莓派Android Things物联网开发》系列文章专栏 http://blog.csdn.net/column/details/17741.html树莓派Android Things物联网开发:入门及资料汇总树莓派Android Things物联网开发&…

使用JDBC进行MySQL 5.1的数据连接、查询、修改等操作练习。
目录 顺序查找 控制游标 条件与排序查询 1. where子语句 一般格式: 2. 排序 更新、添加与删除操作 1.更新 2.添加 3.删除 通用查询 顺序查找 所谓顺序查询,是指ResultSet对象一次只能看到一个数据行,使用 next()方法移到下一个数据行…

Tensorflow多线程输入数据处理框架(一)——队列与多线程
参考书 《TensorFlow:实战Google深度学习框架》(第2版) 对于队列,修改队列状态的操作主要有Enqueue、EnqueueMany和Dequeue。以下程序展示了如何使用这些函数来操作一个队列。 #!/usr/bin/env python # -*- coding: UTF-8 -*- # c…

编译器错误信息: CS0016
编译器错误信息: CS0016: 未能写入输出文件,..\Temporary ASP.NET Files\WebApp\d087da43\c12930d8\9ze28k_8.dll”--拒绝访问 编译器错误信息: CS0016: 未能写入输出文件“d:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\5177u\d087da43\c12930d8\9ze…