MySQL实验四数据库的查询_MySQL数据库实验四:嵌套查询
实验四 嵌套查询
一、实验目的
掌握SELECT语句的嵌套使用,实现表的复杂查询,进一步理解SELECT语句的高级使用方法。
二、实验环境
三、实验示例
1、 查询与“刘晨”在同一个系学习的学生。
SELECT Sno,Sname,Sdept
FROM Student
WHERE Sdept IN
(SELECT Sdept
FROM Student
WHERE Sname= ‘ 刘晨 ’);
用自身连接完成
SELECT S1.Sno,S1.Sname,S1.Sdept
FROM Student S1,Student S2
WHERE S1.Sdept = S2.Sdept AND
S2.Sname = '刘晨';
2、查询选修了课程名为“信息系统”的学生学号和姓名
SELECT Sno,Sname ③ 最后在Student关系中
FROM Student 取出Sno和Sname
WHERE Sno IN
(SELECT Sno ② 然后在SC关系中找出选
FROM SC 修了3号课程的学生学号
WHERE Cno IN
(SELECT Cno ① 首先在Course关系中找出
FROM Course “信息系统”的课程号,为3号
WHERE Cname= ‘信息系统’
)
);
3、检索学C2课程的学号与姓名。
SELECT S#,SNAME FROM S
WHERE S# = SOME(SELECT S# FROM SC
WHERE C# ='C2');
4、 检索至少有一门成绩超过学生S4一门成绩的学
生学号。
SELECT DISTINCT S# FROM SC
WHERE SCORE > SOME(SELECT SCORE FROM SC
WHERE S#='S4');
5、 检索不学C2课程的学生姓名与年龄。
SELECT SNAME,AGE FROM S
WHERE S# <> ALL(SELECT S# FROM SC
WHERE C#= 'C2');
6、 检索平均成绩最高的学生学号。
SELECT S# FROM SC
GROUP BY S#
HAVING AVG SCORE >=
ALL(SELECT AVG(SCORE) FROM SC
GROUP BY S#);
7、查询所有选修了1号课程的学生姓名。
SELECT Sname
FROM Student
WHERE EXISTS
(SELECT *
FROM SC
WHERE Sno=Student.Sno AND Cno= ' 1 ');
8、 查询没有选修1号课程的学生姓名。
SELECT Sname
FROM Student
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE Sno = Student.Sno AND Cno='1');
9、查询选修了全部课程的学生姓名。
SELECT Sname
FROM Student
WHERE NOT EXISTS
(SELECT *
FROM Course
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE Sno= Student.Sno
AND Cno= Course.Cno
)
);
四、实验内容与步骤
1、检索WANG同学不学的课程的课程号。
2、 检索学号比WANG同学大,而年龄比他小的学生姓名。
3、 求年龄大于女同学平均年龄的男学生姓名和年龄。
4、 求年龄大于所有女同学年龄的男学生姓名和年龄。
5、检索全部学生都选修的课程的课程号与课程名。
6、检索选修课程包含LIU老师所授课程的学生学号。
MySQL实验四数据库的查询_MySQL数据库实验四:嵌套查询相关推荐
- mysql order by 嵌套查询_MySQL第三章——嵌套查询
嵌套查询 在SQL语句中,一个 select - from - where 语句是一个查询块,将一个查询块嵌套在另一个查询块的 where 字句或者 having 短语的条件中的查询称为 嵌套查询. ...
- mysql查询集合查询之数据库除法、关系代数除法(优化嵌套查询)
1.除法 (1)概述 除法操作一直是关系代数里面比较难理解的一个知识点,下面我将用一个简单的例子先阐述一下他的原理,让大家对他有个初步的认识. (2)引例 S 属性 lesson 属性 nam ...
- mysql 查询多个记录查询_MySQL多表数据记录查询详解
在实际应用中,经常需要实现在一个查询语句中显示多张表的数据,这就是所谓的多表数据记录连接查询,简称来年将诶查询. 在具体实现连接查询操作时,首先将两个或两个以上的表按照某个条件连接起来,然后再查询到所 ...
- MySQL实验四数据库的查询_MySQL数据库查询(实验四)
MySQL数据库查询 准备工作:脚本文件xkgl.sql下载:xkgl脚本.sql 1.执行脚本xkgl.sql (创建xkgl库.表及插入数据),观察有无错误,如有记录错误信息,并解决. (1) 执 ...
- mysql数据库实验3查询_MySQL数据库实验:任务三 数据库的单表查询设计
任务三 数据库的单表查询设计 文章目录任务三 数据库的单表查询设计[实训目的与要求][实训原理][实训步骤]一.简单查询二.按条件查询1.比较大小查询2.带in关键字的查询(确定集合)3.带BETWE ...
- mysql数据库实验3查询_mysql数据库(3)-查询
数据库设计规范 查询 创建数据库.数据表 -- 创建数据库 create database python_test_1 charset=utf8; -- 使用数据库 use python_test_1 ...
- mysql数据库的查询_mysql数据库查询
查询数据指从数据库中获取所需要的数据.查询数据是数据库操作中最常用,也是最重要的操作.用户可以根据自己对数据的需求,使用不同的查询方式.通过不同的查询方式,可以获得不同的数据.MySQL中是使用SEL ...
- mysql数据库操作多表查询_MySQL数据库查询操作进阶——多表查询
多表查询 在大部分情况下,我们用到的表都是彼此相关联的,所以我们会有相当大的需求用到跨表的查询,这个时候我们就需要将相关联的表连起来做多表查询. 多表查询分为连表查询和子查询,连表查询即将相关联的表连 ...
- mysql所有班级名称和人数_mysql数据库优化课程---12、mysql嵌套和链接查询(查询user表中存在的所有班级的信息?)...
mysql数据库优化课程---12.mysql嵌套和链接查询(查询user表中存在的所有班级的信息?) 一.总结 一句话总结: in:distinct:select * from class wher ...
最新文章
- 机器学习Basics-第十一期-循环神经网络RNN
- linux进程篇 (二) 进程的基本控制
- mysql 事物gljbie_图片转成base64格式上传至数据库
- java 右移两位_java左移右移运算符
- Mysql| Mysql函数,聚集函数的介绍与使用(Lower,Date,Mod,AVG,...)
- [MySQL] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit
- 闲鱼有微信小程序吗_微信小程序商品展示页面(仿咸鱼)
- Codeforces Round #655 (Div. 2) D. Omkar and Circle 思维 + 奇偶贪心
- Java并发优化思路
- 我对类和结构的一点理解
- 多少开发人员 饿了么_饿了么CPS新社交电商,2020年的创业新风口
- 阶段3 3.SpringMVC·_06.异常处理及拦截器_1 SpringMVC异常处理之分析和搭建环境
- Web 前端小白入门(一):心路历程,非技术指南
- H5页面原生gps 定位获取经纬度
- bind mysql web_bindview+dlz(mysql)
- html制作电影宣传效果,宣传片制作有什么技巧可提高效果
- 支小蜜智慧食堂管理系统,聚合支付功能助力食堂支付
- 数字化引领LED照明的未来
- 提高用户量的3个套路
- plotly使用基本介绍
热门文章
- 检索数据_4_从表中查询部分列
- python函数调用时的实参和形参之间传递_python 函数(实参与形参、传递参数)...
- android系统自动构建,[系统集成] Android 自动构建系统
- 深度网络pre-train对于深度网络的意义
- OpenCV图像发现轮廓函数findContours()的使用
- python 数据类型 、运算符
- 高效运维最佳实践:如何做好On-call和事故响应?
- 《F4+2团队项目系统设计改进》
- HEVC视频编码技术
- CSharpGL(39)GLSL光照示例:鼠标拖动太阳(光源)观察平行光的漫反射和镜面反射效果...