数据查询

  • 1. 单表查询
  • 2. 多表连接查询

1. 单表查询

1. 查询全体学生的信息;

-- 查询全体学生的信息
select * from student

2. 根据专业编号(21)查询学生的学号、性别和年龄;

-- 根据专业编号查询学生的学号、性别和年龄
select st_id '学号',st_sex '性别',datediff(year,st_born,getdate()) '年龄' from student where tc_mj = 21

3. 查询未设定先修课的所有课程的信息;

-- 查询未设定先修课的所有课程的信息
select * from course where cs_prerequisite is null

4. 查询选修了‘100’号课程,且成绩达到80分的学号;

-- 查询选修了‘100’号课程,且成绩达到80分的学号;
select sc_id from select_course where sc_num = 100 and sc_grade > 80


2. 多表连接查询

1. 查询“计算机与信息系”(系号1)全体学生的学号、姓名、专业名称;

-- 查询“计算机与信息系”(系号1)全体学生的学号、姓名、专业名称
select st_id,st_name,mj_name from student,major where student.tc_mj = major.mj_id and mj_dpt = '1'

2. 查询非“人工智能”(专业号21)专业,年龄小于20的学生信息;

-- 查询非“人工智能”(专业号21)专业,年龄小于20的学生信息
select * from student where tc_mj <> 23 and datediff(year,st_born,getdate())<20

3. 查询先修课是“计算机基础”(课程号94)的所有课程的信息;

-- 查询先修课是“计算机基础”(课程号94)的所有课程的信息
select * from course where cs_prerequisite = 94

4. 查询至少选修了‘100’和‘96’课程的学生学号

-- 查询至少选修了‘100’和‘96’课程的学生学号
select sc_id from select_course sc1 where sc_num = 100 and exists (select * from select_course sc2 where sc2.sc_num = 96 and sc1.sc_id = sc2.sc_id)

5. 查询未选修“JAVA技术”(课程号100)课程的学生学号、姓名、性别和专业号

-- 查询未选修“JAVA技术”课程的学生学号、姓名、性别和专业号
select distinct sc_id '学号',st_name '姓名',st_sex '性别',tc_mj '专业号' from select_course,student where sc_id = st_id and sc_id not in(select sc_id from select_course where sc_num = 100)

6. 查询未选修任何课程的学生学号和姓名

-- 查询未选修任何课程的学生学号和姓名
select sc_id,st_id from select_course,student where sc_id = st_id and sc_id not in (select sc_id from select_course where sc_num is not null)

7. 查询未被学生选修的课程号、课程名、先修课

-- 查询未被学生选修的课程号、课程名、先修课
select cs_id,cs_name,cs_prerequisite from course,select_course where sc_id not in (select distinct sc_id from select_course)

8. 用派生关系查询平均成绩达到90分的学生学号、姓名和平均成绩

-- 用派生关系查询平均成绩达到90分的学生学号、姓名和平均成绩
select st_id '学号',st_name '姓名',avg_grade '平均成绩' from student,(select sc_id,avg(sc_grade) as avg_grade from select_course group by sc_id) as sc_avg where avg_grade>90 and sc_avg.sc_id = student.st_id

9. 查询学生的学号,只要先修课是“90”的课程他们都选修了

-- 查询学生的学号,只要先修课是“90”的课程他们都选修了
-- 查询不存在先选课为90的课程没有选修的学生学号
select sc_id
from
select_course sc1
where not exists (select * from course where cs_prerequisite = 90 and not exists (select * from select_course sc2 where sc2.sc_num = course.cs_id and sc2.sc_id = sc1.sc_id))

10. 查询未参加课程“100”考试的学生名单(学号、姓名、专业号)

-- 查询未参加课程“100”考试的学生名单(学号、姓名、专业号)
select distinct sc_id,st_name,tc_mj from select_course,student where sc_id = st_id and sc_id not in (select sc_id from select_course where sc_num = 100);

合肥工业大学—SQL Server数据库实验七:数据查询相关推荐

  1. 合肥工业大学—SQL Server数据库实验四:数据库的分离和附加

    数据库的分离和附加 1. 数据库分离 2. 数据库附加 1. 数据库分离 当SQL Server服务器运行时,该服务器上所有的数据库自动处于运行状态,而运行中的数据库文件是无法进行数据库文件的拷贝的. ...

  2. 合肥工业大学—SQL Server数据库实验十:用户及其权限管理

    用户及其权限管理 1. 创建登录名Mylog及密码 2. 创建用户user2关联登录名 3. 创建角色role1 4. 对用户user2及角色role1授权 5. 验证用户授权 6. 收回用户权限 1 ...

  3. 合肥工业大学—SQL Server数据库实验五:创建和删除索引

    创建和删除索引 1. 用SQL语句建立索引 2. 用SQL语句删除索引Stuspno 1. 用SQL语句建立索引 (1)应用场景:在教务管理系统中,经常需要通过学生的姓名查询学生的基本信息,学生人数大 ...

  4. 合肥工业大学—SQL Server数据库实验三:SQL语句创建和删除基本表

    SQL语句创建和删除基本表 1. 编写6个基本表 2. 修改基本表结构,完整性约束条件 3. 用Drop table 语句删除基本表 1. 编写6个基本表 设有简单教学管理的6个关系模式如下: 系(系 ...

  5. 合肥工业大学—SQL Server数据库实验九:视图的定义与使用

    视图的定义与使用 1. 定义视图 2. 使用视图 1. 定义视图 在EDUC数据库中,已Student.Course 和SC表为基础完成一下视图定义: 1) 定义视图V_SC_G:该视图包含Stude ...

  6. 合肥工业大学—SQL Server数据库实验八:使用聚集函数的SELECT语句

    在数据库EDUC中用SQL语句实现如下查询: 1) 查询学生的总人数 -- 查询学生的总人数 select count(*) from student select count(1) from stu ...

  7. 合肥工业大学—SQL Server数据库实验一:数据库的创建和删除

    数据库的创建和删除 1. 创建数据库EDUC 2. 创建数据库TestDB 3. 删除数据库TestDB 4. 设置当前数据库为EDUC 1. 创建数据库EDUC 数据库名称:EDUC 数据库存储路径 ...

  8. 合肥工业大学—SQL Server数据库实验六:数据更新操作

    数据更新操作 1. 数据插入 2. 数据修改 3. 数据删除 1. 数据插入 依次将准备好的数据用Insert Into语句将数据插入相应的基本表: 正确数据的插入,这些数据应该不会违反完整性约束 注 ...

  9. 合肥工业大学—SQL Server数据库实验二:数据库架构的创建与使用

    数据库架构的创建与使用 1. 创建架构MySch 2. 创建一个登录名log1 3. 创建用户user1,关联登录名与架构 4. 创建架构Schema1,授予用户user1 5. 在当前架构DBO(默 ...

最新文章

  1. 【Cisco NP】EIGRP的基本配置
  2. [swift]-使用JavaScript解决WKWebView无法发送POST参数问题
  3. WindowsServer2012史记5-简洁,管理更多的服务器
  4. 5G精华问答 | 5G的关键无线技术是啥?
  5. 04_SpringCloud 整合Ribbon细粒度配置自定义
  6. 学习编程技术常见的疑问,你敢说你没有过一个吗?信你个鬼!
  7. 基于Pytorch的BERT-IDCNN-BILSTM-CRF中文实体识别实现
  8. java移位运算符实验程序:lt;lt;(左移)、gt;gt;(带符 号右移)和gt;gt;gt;(无符号右移)...
  9. hive-2.3.3安装指北
  10. Markdown 语法速查表
  11. 服务器ghost备份后无法进入系统还原,ghost恢复后,系统不能启动的问题
  12. Flash退出历史舞台后,Web端3D会迎来怎样的发展?
  13. 华为路由器NAT经典配置
  14. 回流reflow与重绘repaint
  15. Android之登录注册——简易版
  16. 数据结构和算法(二):摘要算法之SHA和MD5
  17. “向前兼容”与“向后兼容”
  18. 描写冬天的唯美诗句,你想知道的都在这里!
  19. 示例:应用WPF开发的仿制百度网盘客户端UI布局
  20. cgb2106-day05

热门文章

  1. 2021-2027年中国视频监控设备行业市场需求预测与投资战略规划分析报告
  2. 2022-2028年中国PE自粘性保护膜行业市场调查研究及发展前景展望报告
  3. Docker 入门系列(6)- Docker 互联
  4. python 浮点数未解之谜
  5. bert as service
  6. Python __call__详解
  7. 机器学习PAL数据预处理
  8. MinkowskiEngine语义分割
  9. 编写可调模板并使用Auto-tuner自动调谐器
  10. NVIDIA深度学习Tensor Core性能解析(上)