【数据库】简单连接嵌套查询

news2024/11/16 17:31:10

目录

🎇简单查询

🎇连接查询

🎇嵌套查询

分析&思考 


🎇简单查询

--练习简单查询
--select * from classes
--select * from student
--select * from scores
--1.按Schedule表的结构要求用SQL语言创建Schedule表
--字段名	字段描述	数据类型	主键	外键	非空	唯一	自增
--ID	      编号	    int	        是√	否	     是	      是√	是√
--TeacherID 教师号	   char(8)	    否	    是√	 是√	  否	否
--CourseID  课程号	    char(8)	    否	    是	     是	      否	否
--ClassID	  班级号	char(8)	    否	    是	     是	      否	否
--Semester  开课学期	int    	    否	    否	     是	      否	否
--SchoolYear	学年	int        	否	    否	     否	      否	否

--❗
--use student
--go
--create table schedule
--(
--ID int identity primary key,
--TeacherID char(8) not null references Teacher(TeacherID),
--CourseID char(8) not null references Course(CourseID),
--ClassID char(8) not null references Class(ClassID),
--Semester int not null,
--SchoolYear int
--)
--go

--//
--(2)查询teacher表中所有教师的姓名和年龄。
--select teachername 姓名,year(getdate())-year(birth) 年龄
--from teacher
--//

--(2)查询student表中所有学生的姓名和性别。
--select sname 姓名,ssex 性别 from student

--(3)查询所有系的信息。
--select * from classes

--(4).查询成绩值大于等于60的学生的学号。
--select sno from scores
--where grade>60

--(5)查询软件06101班的女生信息。
--select * from student
--where ssex='女'
--and classno='软件06101'

--(6)查询学生姓名中第2个字为“丽”的学生信息。
--select * from student
--where sname like '_丽%'

--(7)查询student表姓名和性别。
--select sname 姓名,ssex 性别 from student

--(8)查询student表中前5行数据。
--select top 5 * from student

--(9)查询选修了体育课程的学生的学号和成绩,将查询结果按成绩降序排序,成绩相同按学号升序排序。
--select sno 学号,grade 成绩 from scores
--where course='大学英语'
--order by grade desc,sno asc--成绩降序,学号升序

----//(10)查询course表中的最大学分的课程名。(用order by子句)。
--select top 1 with ties coursename
--from course
--order by credit desc//降序
----//

--(11)查询不同系部的班级数。
--select count(classno)
--from classes
--group by dept

----(12)统计各个班的学生人数。
--select classno,count(sno)
--from student
--group by classno

--(13)查询课程Dp030001的最高分、最低分和平均分。
--select max(grade) 最高分,min(grade) 最低分,avg(grade) 平均分
--from scores
--where course='体育'

--(14)查询grade表中选修了3门以上课程的学生学号。
--select studentid
--from grade
--group by studentid
--having count(courseid)>3

----(15)查询不同班级不同性别学生人数。
--select classno,ssex,count(sno) from student
--group by classno,ssex

🎇连接查询

--(1)查询课程名及该课程的得分情况。
--select course 课程名,grade 得分 from scores 

--两张表
--(2)查询学生姓名及其所学生的课程名。
--select sname 姓名,course 课程名 from student join scores on student.sno=scores.sno

------(3)查询和‘程玲’同学同班的学生信息。
--select * from student
--where classno=(select classno from student where sname='程玲')

--一张表
--(4)查询比6320210615 同学成绩高的信息。
--select s1.grade from scores s1 
--join scores s2 on s1.grade>s2.grade
--and s2.sno='6320210615 '

--(5)
--select dept,student.classno,sno,sname,ssex from student join classes on student.classno=classes.classno

--(6)查询既学了了又选修了课程的学生的学号,姓名。
--select student.sno 学号,sname 姓名 from student join scores on student.sno=scores.sno
--where course='大学英语' and course='体育'


--(7) “大学英语(一)”成绩不及格的学生人数是多少?
--select count(student.sno) from student join scores on student.sno=scores.sno
--where course='大学英语' and grade<60

--(8)计算机系的平均成绩为多少?
--select avg(grade) from student 
--join classes on student.classno=classes.classno
--join scores on student.sno=scores.sno
--where dept='计算机系'

--(9)查询全部教师、全部课程的课程安排。

--(10)查询“大学英语”课程前三名的学生学号、姓名和成绩。
--select top 3 with ties 
--student.sno,sname,grade from student join scores on student.sno=scores.sno
--where grade='大学英语'
--order by grade desc--降序

🎇嵌套查询

----(1)嵌套查询 “计算机系”的学生信息。
--select * from student
--where classno in(select classno from classes where dept='计算机系')

--(2)嵌套查询“计算机系”的全部学生信息。
--select * from student
--where classno in(select classno from classes where dept='计算机系')

--(3)嵌套查询xx课程中成绩未达到该门课程平均分的同学信息。
--SELECT *
--FROM grade
--WHERE CourseID = 'Dp010001'
--AND grade <
--	(SELECT AVG(grade)
--	FROM grade
--	WHERE CourseID='Dp010001')
--或者
--select * from student 
--where sno in(select sno from scores where course='大学英语' and
--grade <(select avg(grade) from scores where course='大学英语'
--))

--(4)嵌套查询大学英语课程中最低分的学生信息。
--select * from student where sno in
--(select sno from scores where course='大学英语'
--and grade=(select min(grade) from scores where course='大学英语'))

--(4)嵌套查询Dp010001课程中最低分的学生信息。
--SELECT *
--FROM student
--WHERE StudentID IN
--	(SELECT StudentID
--	FROM grade
--	WHERE CourseID = 'Dp010001'
--		AND grade =
--			(SELECT MIN(grade)
--			FROM grade
--			WHERE CourseID = 'Dp010001'))

--(5)嵌套查询Cs010901班比Cs010902班年龄都大的学生信息。
--SELECT *
--FROM student
--WHERE ClassID='Cs010901'
--AND Birth < ALL
--	(SELECT Birth
--	FROM student
--	WHERE ClassID='Cs010902')

--(6)用带EXISTS子查询选修了Dp010001的学生学号和姓名。
--SELECT StudentID,StudentName
--FROM student
--WHERE EXISTS
--	(SELECT *
--	FROM grade 
--	WHERE CourseID='Dp010001'
--	AND student.StudentID=grade.StudentID)

--(7)查询选修了Dp010001课程而没有选修Dp010002号课程的学生学号。
--SELECT StudentID
--FROM 	grade 
--WHERE CourseID='Dp010001' 
--AND StudentID NOT IN
--	(SELECT StudentID
--	FROM grade
--	WHERE CourseID='Dp010002')
----(8)合并显示教师中的男性教师和有教授职称的教师。
--SELECT *
--FROM Teacher
--WHERE Sex='男'
--UNION
--SELECT *
--FROM Teacher
--WHERE Profession='教授'

--(9)查询student表中女同学的学号,姓名及根据学号前两位判断所处年级(St01为‘大一’02为‘大二’,其他的不清楚)。
--SELECT StudentID,StudentName,
--	CASE
--		WHEN StudentID LIKE 'St01%' THEN '大一'
--		WHEN StudentID LIKE 'St02%' THEN '大二'
--		ELSE '不清楚'
--	END as 年级
--FROM Student
--WHERE Sex='女'

分析&思考 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1299269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux 应用开发笔记---【标准I/O库/文件属性及目录】

一&#xff0c;什么是标准I/O库 标准c库当中用于文件I/O操作相关的一套库函数&#xff0c;实用标准I/O需要包含头文件 二&#xff0c;文件I/O和标准I/O之间的区别 1.标准I/O是库函数&#xff0c;而文件I/O是系统调用 2.标准I/O是对文件I/O的封装 3.标准I/O相对于文件I/O具有更…

基于ssm校园活动管理平台论文

摘 要 使用旧方法对校园活动信息进行系统化管理已经不再让人们信赖了&#xff0c;把现在的网络信息技术运用在校园活动信息的管理上面可以解决许多信息管理上面的难题&#xff0c;比如处理数据时间很长&#xff0c;数据存在错误不能及时纠正等问题。 这次开发的校园活动管理平…

2024年网络安全竞赛-Web安全应用

Web安全应用 (一)拓扑图 任务环境说明: 1.获取PHP的版本号作为Flag值提交;(例如:5.2.14) 2.获取MySQL数据库的版本号作为Flag值提交;(例如:5.0.22) 3.获取系统的内核版本号作为Flag值提交;(例如:2.6.18) 4.获取网站后台管理员admin用户的密码作为Flag值提交…

【Linux】探索Linux进程状态 | 僵尸进程 | 孤儿进程

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 目录 一、进程状态1.1运行状态1.2阻塞状态1.3挂起状态 二、具体L…

C++ queue 和priority_queue

目录 1.什么是queue 2.模拟实现 3.仿函数 模板参数Compare 仿函数 4.什么是priority_queue 模拟实现 1.什么是queue 1.队列是一种容器适配器&#xff0c;专门用于在FIFO上下文(先进先出)中操作&#xff0c;其中从容器一端插入元素&#xff0c;另一端提取元素。 2.队列作为…

【数据结构】——排序篇(中)

前面我们已经了解了几大排序了&#xff0c;那么我们今天就来再了解一下剩下的快速排序法&#xff0c;这是一种非常经典的方法&#xff0c;时间复杂度是N*logN。 快速排序法&#xff1a; 基本思想为&#xff1a;任取待排序元素序列中的某元素作为基准值&#xff0c;按照该排序码…

医疗大模型产品收集

在之前的一篇文章【LLM大模型中文开源数据集集锦&#xff08;三&#xff09;】采集到了一些医疗大模型所使用的数据&#xff0c;数据中比较多的是竞赛中出现训练集&#xff0c;对话语料居多。 大模型也出现好一阵子&#xff0c;一些医疗大模型产品化、开源模型也越来越多&#…

Proteus仿真--基于51单片机的EPROM2764仿真设计

本文介绍基于51单片机的EPROM2764仿真设计&#xff08;完整仿真源文件及代码见文末链接&#xff09; 开机时&#xff0c;将写在EPROM中的图像显示在LCD上 仿真图如下 仿真运行视频 Proteus仿真--基于51单片机的EPROM2764仿真设计 附完整Proteus仿真资料代码资料 链接&#x…

PID控制参数整定(调节方法)原理+图示+MATLAB调试

PID控制参数整定&#xff08;调节方法&#xff09;原理图示MATLAB调试 Chapter1 PID控制参数整定&#xff08;调节方法&#xff09;原理图示MATLAB调试序一、P参数选取二、I的调节三、D的调节四、总结 Chapter2 PID参数调整&#xff0c;个人经验&#xff08;配输出曲线图&#…

Python基础(四、探索迷宫游戏)

Python基础&#xff08;四、探索迷宫游戏&#xff09; 游戏介绍游戏说明 游戏介绍 在这个游戏中&#xff0c;你将扮演一个勇敢的冒险者&#xff0c;进入了一个神秘的迷宫。你的任务是探索迷宫的每个房间&#xff0c;并最终找到隐藏在其中的宝藏。 游戏通过命令行界面进行交互…

简单实现Spring容器(四) 依赖注入

阶段4: // 1.编写自己的Spring容器,实现扫描包,得到bean的class对象. // 2.扫描将 bean 信息封装到 BeanDefinition对象,并放入到Map.//3.初始化单例池并完成getBean() createBean()方法4.完成依赖注入(如果创建某个Bean对象,存在依赖注入,需要进行bean组装操作)思路: 1.在an…

面向对象三大特征——封装

目录 1. 封装概述&#xff08;封装与隐藏&#xff09; 2. private关键字 3. Getter & Setter方法 4. 变量访问原则和this关键字 5. 构造方法 5.1 构造方法概述 5.2 构造方法和set方法的比较 6. 静态 6.1 静态概述 6.2 静态效果 6.3 静态变量和非静态变量的区别 …

【小沐学Python】Python实现语音识别(vosk)

文章目录 1、简介1.1 vosk简介1.2 vosk模型1.3 vosk服务 2、安装3、测试3.1 命令行测试3.2 代码测试 结语 1、简介 https://alphacephei.com/vosk/index.zh.html Vosk 是一个语音识别工具包。 1.1 vosk简介 支持二十种语言 - 中文&#xff0c;英语&#xff0c;印度英语&#…

unity 2d 入门 飞翔小鸟 Cinemachine 镜头跟随小鸟 多边形碰撞器 解决镜头不会穿模问题(十二)

1、安装 window->package manager 2、创建Cinemachine 右键->Cinemachine->2D Carmera 3、创建空对象和多边形控制器如图 记得勾选 is Trigger 空对象位置记得要和小鸟保持一致&#xff0c;不然等下写完脚本后&#xff0c;镜头一开始会移动一下 4、将多边形触…

零一万物模型折腾笔记:官方 Yi-34B 模型基础使用

当争议和流量都消失后&#xff0c;或许现在是个合适的时间点&#xff0c;来抛开情绪、客观的聊聊这个 34B 模型本身&#xff0c;尤其是实践应用相关的一些细节。来近距离看看这个模型在各种实际使用场景中的真实表现和对硬件的性能要求。 或许&#xff0c;这会对也想在本地私有…

python安装与工具PyCharm

摘要&#xff1a; 周末闲来无事学习一下python&#xff01;不是你菜鸡&#xff0c;只不过是对手太强了&#xff01;所以你要不断努力&#xff0c;去追求更高的未来&#xff01;下面先了解python与环境的安装与工具的配置&#xff01; python安装&#xff1a; 官网 进入官网下载…

Child Mind Institute - Detect Sleep States(2023年第一次Kaggle拿到了银牌总结)

感谢 感谢艾兄&#xff08;大佬带队&#xff09;、rich师弟&#xff08;师弟通过这次比赛机械转码成功、耐心学习&#xff09;、张同学&#xff08;也很有耐心的在学习&#xff09;&#xff0c;感谢开源方案&#xff08;开源就是银牌&#xff09;&#xff0c;在此基础上一个月…

【SpringBoot篇】5种类型参数传递json数据传参的操作

&#x1f38a;专栏【SpringBoot】 &#x1f354;喜欢的诗句&#xff1a;天行健&#xff0c;君子以自强不息。 &#x1f386;音乐分享【如愿】 &#x1f384;欢迎并且感谢大家指出小吉的问题&#x1f970; 文章目录 &#x1f33a;普通参数&#x1f33a;POJO参数&#x1f33a;嵌套…

HarmonyOS--ArkTS(0)--目录

官方API文档&#xff1a; HarmonyOS应用开发官网 - 华为HarmonyOS打造全场景新服务 华为开发者官方网站_创新从这里开始

基于ssm农产品仓库管理系统系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本农产品仓库管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信…