一.实验准备

1.复制实验要求文件及“CREATE-TABLES.SQL”文件, 粘贴到本地机桌面。

2.启动SQL-SERVER服务。

3. 运行查询分析器, 点击菜单《文件》/《打开》, 打开CREATE-TABLES.SQL, 并运行, 建立学生数据库STUDB及表STUDENT, COURSE, SC。

4. 点击菜单《文件》/《新建》, 建立一个空查询窗口。开始实验。

5.本次实验环境是xp虚拟机,SQL-SERVER迷你版。

“CREATE-TABLES.SQL”文件 https://www.cnblogs.com/wkfvawl/p/10843788.html

二.实验内容

1.查询各个课程号及相应的选课人数(SC表,按课号分组)

  1. SELECT CNO,COUNT(SNO)
  2. FROM SC
  3. GROUP BY CNO

2.查询每个学生的学号和选课门数, 最高成绩,最低成绩,平均成绩

  1. SELECT SNO,COUNT(CNO),MAX(GRADE),MIN(GRADE),AVG(GRADE)
  2. FROM SC
  3. GROUP BY SNO

3.查询各系的系名, 性别,人数, 平均年龄(按系名, 性别分组)

  1. SELECT SDEPT,SSEX,COUNT(*),AVG(SAGE)
  2. FROM STUDENT
  3. GROUP BY SDEPT,SSEX

4. 查询选修了>=3门课的学生号( HAVING )

  1. SELECT SNO
  2. FROM SC
  3. GROUP BY SNO
  4. HAVING COUNT(*)>=

5. 查询选修学生人数>=2的课号

  1. SELECT CNO
  2. FROM SC
  3. GROUP BY CNO
  4. HAVING COUNT(*)>=

6 .查询成绩在75以上超过两门课的学生号  ( WHERE+HAVING )

  1. SELECT SNO
  2. FROM SC
  3. WHERE GRADE>
  4. GROUP BY SNO
  5. HAVING COUNT(*)>=

7. 查询每个学生及其选课情况 ( 连接STUDENT和SC )

  1. SELECT *
  2. FROM STUDENT,SC
  3. WHERE STUDENT.SNO=SC.SNO

8. 查询CS系学生的学生号,学生名,课号,成绩(用连接)

  1. SELECT STUDENT.SNO,SNAME,CNO,GRADE
  2. FROM STUDENT,SC
  3. WHERE STUDENT.SNO=SC.SNO AND SDEPT='CS'

9.查询选1号课的学生号,学生名,成绩(用连接)

  1. SELECT STUDENT.SNO,SNAME,GRADE
  2. FROM STUDENT,SC
  3. WHERE STUDENT.SNO=SC.SNO AND CNO=''

10.查询每个学号的平均成绩,总学分(连接SC和COURSE, 分组)

  1. SELECT SNO,AVG(GRADE),SUM(CCREDIT)
  2. FROM COURSE,SC
  3. WHERE SC.CNO=COURSE.CNO AND GRADE>=
  4. GROUP BY SNO

11.查询CS系学生的学生号,选课课号,课名,成绩(三表连接)

  1. SELECT STUDENT.SNO,COURSE.CNO,CNAME,GRADE
  2. FROM COURSE,SC,STUDENT
  3. WHERE STUDENT.SNO=SC.SNO AND SC.CNO=COURSE.CNO AND SDEPT='CS'

12. 查询与“刘晨”在同一个系学习的学生号,姓名,系名。

  1. SELECT SNO,SNAME,SDEPT
  2. FROM STUDENT
  3. WHERE SDEPT =
  4. (
  5. SELECT SDEPT
  6. FROM STUDENT
  7. WHERE SNAME='刘晨'
  8. )

13. 查询选1号课的学生号,学生名(用IN 子查询)

  1. SELECT SNO,SNAME
  2. FROM STUDENT
  3. WHERE SNO IN
  4. (
  5. SELECT SNO
  6. FROM SC
  7. WHERE CNO=''
  8. )

14. 查询未选1号课的学生号,学生名(用NOT IN 子查询)

  1. SELECT SNO,SNAME
  2. FROM STUDENT
  3. WHERE SNO NOT IN
  4. (
  5. SELECT SNO
  6. FROM SC
  7. WHERE CNO=''
  8. )

15. 查询没有不及格的学生号,学生名(用NOT IN 子查询)

  1. SELECT SNO,SNAME
  2. FROM STUDENT
  3. WHERE SNO NOT IN
  4. (
  5. SELECT SNO
  6. FROM SC
  7. WHERE GRADE<
  8. )

16. 查询学生号,姓名,课号,成绩, 要包括未选修课的学生(用外连接)

  1. SELECT STUDENT.SNO,SNAME,CNO,GRADE
  2. FROM STUDENT,SC
  3. WHERE STUDENT.SNO*=SC.SNO

17. 查询课号, 课名, 学号, 成绩 , 包括未被选修的课.( 用外连接)

  1. SELECT COURSE.CNO,COURSE.CNAME,SNO,GRADE
  2. FROM COURSE,SC
  3. WHERE COURSE.CNO*=SC.CNO

18.查询比刘晨年龄大的学生号,姓名。(>子查询)

  1. SELECT SNO,SNAME
  2. FROM STUDENT
  3. WHERE SAGE >
  4. (
  5. SELECT SAGE
  6. FROM STUDENT
  7. WHERE SNAME='刘晨'
  8. )

19. 查询比信息系任意一个学生年龄小的学生姓名和年龄。(<ANY子查询)

  1. SELECT SNAME,SAGE
  2. FROM STUDENT
  3. WHERE SAGE <ANY
  4. (
  5. SELECT SAGE
  6. FROM STUDENT
  7. WHERE SDEPT='IS'
  8. )

20.查询选’数据库原理’课的学号(用 IN子查询)

  1. SELECT SNO
  2. FROM STUDENT
  3. WHERE SNO IN
  4. (
  5. SELECT SNO
  6. FROM SC
  7. WHERE CNO IN
  8. (
  9. SELECT CNO
  10. FROM COURSE
  11. WHERE CNAME='数据库原理'
  12. )
  13. )

21. 查询选’数据库原理’课的学号,姓名(用 IN子查询)

  1. SELECT SNO,SNAME
  2. FROM STUDENT
  3. WHERE SNO IN
  4. (
  5. SELECT SNO
  6. FROM SC
  7. WHERE CNO IN
  8. (
  9. SELECT CNO
  10. FROM COURSE
  11. WHERE CNAME='数据库原理'
  12. )
  13. )

数据库——SQL-SERVER练习(1)连接与子查询的更多相关文章

  1. SQL Server中INNER JOIN与子查询IN的性能测试

    这个月碰到几个人问我关于"SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?"这个问题.其实这个概括起来就是SQL Server中INNER JOIN与子 ...

  2. SQL Server进阶(五)子查询

    概述 子查询的概念: 当一个查询是另一个查询的条件时,称之为子查询.子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY. 外面的 ...

  3. SQL SERVER技术内幕之4 子查询

    最外层查询的结果集会返回给调用者,称为外部查询.内部查询的结果是供外部查询使用的,也称为子查询.子查询可以分成独立子查询和相关子查询两类.独立子查询不依赖于它所属的外部查询,而相关子查询则须依赖它所属 ...

  4. 本地数据库(SQL Server)远程连接服务器端服务器

    本地数据库(SQL Server 2012) 连接外网服务器的数据库,外网的服务器端需要做如下配置: 1. 首先是要打开 数据的配置管理工具 2. 配置相关的客户端协议,开启TCP/IP 3. 数据库 ...

  5. 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接

    前言 DataGrip:Jet Brains出品的一款数据库管理工具(没错,是Jet Brains出品,必属精品).DataGrip整合集成了当前主流数据库(如:SQL Server, MySQL, ...

  6. win7中 SQL server 2005无法连接到服务器,错误码:18456

    win7中 SQL server 2005无法连接到服务器,错误码:18456.. 数据库刚装完.我用Windows登陆  结果登陆不上去.. 选中SQL Server Management Stud ...

  7. 数据库SQL Server与C#中数据类型的对应关系

    ylbtech- .NET-Basic:数据库SQL Server与C#中数据类型的对应关系 数据库SQL SServer与C#中数据类型的对应关系 1.A,返回顶部 数据库 C#程序 int int ...

  8. SQL Server中内连接和外连接的区别

    SQL Server中内连接和外连接的区别 假设一个数据库中有两张表,一张是学生表StudentInfo,一张是班级表ClassInfo,两张表之间用ClassId字段进行关联. 如果用内连接,正常的 ...

  9. SQL Server "允许远程连接到此服务器" 配置

    在SQL Server的属性-->连接中我们可以看到这样一个选项:'允许远程连接到此服务器'(英文是remote access),其默认值是1,表示此选项开启. 但是这个参数并非是字面上所显示的 ...

  10. 问题:sqlserver 跨服务器连接;结果:Sql Server 跨服务器连接

    Sql Server 跨服务器连接 用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset ...

随机推荐

  1. opencv在VS2017上的环境搭建

    最近开始做一个图像识别的小项目,需要安装opencv,VS里报的错迷的一批,网上教程好多,找了好长时间,终于找的两个解决了问题,在这儿记录一下. 安装很简单,在opencv官网(https://ope ...

  2. 损失函数--KL散度与交叉熵

    损失函数 在逻辑回归建立过程中,我们需要一个关于模型参数的可导函数,并且它能够以某种方式衡量模型的效果.这种函数称为损失函数(loss function). 损失函数越小,则模型的预测效果越优.所以我 ...

  3. TP5 where多条件查询

    引用 : https://blog.csdn.net/haibo0668/article/details/78203170/

  4. Centos7 下 PHP 添加缺少的组件 sockets 和 openssl

    环境是 centos7 + nginx 1.14 + php 7.2.18,由于新增邮件发送功能,使用的是 socket 通讯的方式,需要开启 php 的 sockes 和 openssl 扩展 安装 ...

  5. MySQLl存储过程学习总结

    1.简介 : 逻辑处理一般不是一条语句组成,需要多条之间相互配合使用              这时,存储过程就是为了以后使用而保存的的一条或多条Mysql语句的集合 2.为何 : 1)简单:将处理单 ...

  6. 你看不懂的spring原理是因为不知道这几个概念

    背景 问题从一杯咖啡开始. 今天我去楼下咖啡机买了一杯「粉黛拿铁」.制作过程中显示: 我取了做好的粉黛拿铁,喝了一口,果然就是一杯热巧克力.咦咦咦,说好的拿铁呢?虽然我对「零点吧」的咖啡评价很高,觉得 ...

  7. JS基础语法---函数也是一种数据类型

    1. 如何获取某个变量的类型? typeof 2. 函数是有数据类型 ,数据类型:是function function f1() { console.log("我是函数"); } ...

  8. flutter全栈开发学习资料大全 免费flutter学习视频 文字教程!

    flutter今年特别火,google推出flutter就是为了一次开发全平台应用,包括PC端,手机wap端,android,ios直接生成APP应用,如果真的能像谷歌说的,那我们开发人员就真的好好学 ...

  9. OpenCV:获取图像当中某一点的坐标

    import numpy as np image=np.zeros((300,300,3),dtype='uint8') (cx,cy)=image.shape[1]//2,image.shape[0 ...

  10. PHP 部分语法(一)

    PHP: PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,它以 <?php 开始,并以 ?> 结束: 它还是一门弱类型语言,类型不需显式声明 变量: PHP 没有声明变量的命令 ...