当前位置: 首页 > 编程日记 > 正文

实验3  数据库综合查询

实验3  数据库综合查询

一、实验目的

  1. 掌握SELECT语句的基本语法和查询条件表示方法;
  2. 掌握查询条件种类和表示方法;
  3. 掌握连接查询的表示及使用;
  4. 掌握嵌套查询的表示及使用;
  5. 了解集合查询的表示及使用。

二、实验环境

已安装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语句后面):

  1. 查询名字中第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数、字数、或是列数&#xff0c;若不指定文件名称、或是所给予的文件名为"-"&#xff0c;则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和企业都造成了巨大损失&#xff0c;截至目前已发现近百万种病毒及***。受感染的网络基础设施遭到破坏&#xff0c;以Sql Slammer为例&#xff0c;它发作时会造成丢包率为30%。我们如何在LAN上防范蠕虫&#xff1f;大…

实验4  数据的安全性管理

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

scala构建工具sbt使用介绍

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

读书笔记--C陷阱与缺陷(三)

第三章 1. 指针与数组 书中强调C中数组注意的两点&#xff1a; 1) C语言只有一维数组&#xff0c;但是数组元素可以是任何类型对象&#xff0c;是另外一个数组时就产生了二维数组。数组大小是常数&#xff08;但GCC实现了变长数组。。&#xff09; 2) 一个数组只能做两…

[导入]儿子语录

2008.09.16&#xff1a;笑脸&#xff0c;笑脸&#xff0c;不笑脸&#xff0c;不笑脸&#xff0c;不高兴脸&#xff0c;不高兴脸。2008.09.19&#xff1a;爸爸是黄毛毛虫&#xff0c;我是绿毛毛虫&#xff0c;妈妈是紫毛毛虫&#xff0c;奶奶是咖啡色毛毛虫&#xff0c;太太是白…

ISA2006标准版,本地主机不能上网问题的解决一例

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

第8章系统服务(简易音频播放器的实现)

开发一个简易音乐播放器&#xff0c;要求实现&#xff1a; 综合使用Service&#xff0c;BroadCast&#xff0c;ContentProvider等组件实现后台播放。 播放和暂停、上一首、下一首、停止&#xff1b;后台播放功能, 按下返回键退出应用后再次打开应用&#xff0c;UI 显示应能与当…

await使用中的阻塞和并发(一)

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

中国经济是前所未有二元经济(转)

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

Unity 简单示例代码和向导/Unity Aplication Block

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

crontab修改默认编辑器

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

Programming C# 学习笔记(二) 出发:“Hello World”

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

多IP绑定与多网卡绑定

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

华硕WL-500W无线路由器使用感受

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

什么是物联网网关?物联网网关具备什么功能?_转

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

MSDN Webcast“深入浅出ASP.NET AJAX系列”

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

技巧:结合Zabbix与SNMP监控嵌入式设备

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

值得收藏的146条经典民间偏方

1、本贴所用药物&#xff0c;以食物为主&#xff0c;绝对无毒。 2、为使读者易懂&#xff0c;剂量单位均用旧制&#xff0c;如&#xff1a;斤、两、钱等&#xff0c;有的用碗&#xff0c;是指一般性中碗。 3、所用药物凡带有*记号的一般可到中药店买&#xff0c;药店都有。 4、…

DataGridView打印类

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

Asp.Net Core AsyncLocal 异步上下文

引子 阅读以下代码&#xff0c;并尝试分析 代码解析 在主线程中&#xff0c;线程Id为1&#xff0c;为线程变量赋值 变量d6ff开启一个新的task&#xff0c;此时线程Id为4&#xff0c;变量d6ff&#xff0c;并调用Task1开启一个同步Task3&#xff0c;线程Id为1。变量d6ff&#xff…

JDBC数据库操作

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

mybatis学习7 实战项目

自己写一个实战项目&#xff0c;最好和hibernate做对比。转载于:https://www.cnblogs.com/liufei1983/p/7492214.html

凤凰网制作的 “中国挺住” 桌面与MSN,QQ头像下载

凤凰网制作的 “中国挺住” 桌面与MSN&#xff0c;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物联网开发&#xff1a;入门及资料汇总树莓派Android Things物联网开发&…

使用JDBC进行MySQL 5.1的数据连接、查询、修改等操作练习。

目录 顺序查找 控制游标 条件与排序查询 1. where子语句 一般格式&#xff1a; 2. 排序 更新、添加与删除操作 1.更新 2.添加 3.删除 通用查询 顺序查找 所谓顺序查询&#xff0c;是指ResultSet对象一次只能看到一个数据行&#xff0c;使用 next()方法移到下一个数据行…

Tensorflow多线程输入数据处理框架(一)——队列与多线程

参考书 《TensorFlow&#xff1a;实战Google深度学习框架》&#xff08;第2版&#xff09; 对于队列&#xff0c;修改队列状态的操作主要有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…