数据库系统--T-SQL数据查询功能-多表查询(超详细/设计/实验/作业/练习)
目录
- 课程名:数据库系统
- 内容/作用:设计/实验/作业/练习
- 学习:T-SQL数据查询功能-多表查询
- 一、前言
- 二、环境与设备
- 三、内容
- 四、内容
- 练习题目:
- 对应题目答案:
- 五、总结
课程名:数据库系统
内容/作用:设计/实验/作业/练习
学习:T-SQL数据查询功能-多表查询
一、前言
(1)熟悉使用Select…from语句进行单表数据查询;
(2)能将这些更新操作应用于实际操作中去。
(3)掌握Where语句、order by语句、group by语句、having语句的使用方法
(4)理解多表内连接、外连接的使用
(5)理解嵌套查询的执行过程
(6)掌握多表连接查询和嵌套查询
二、环境与设备
1、设备:Windows 10
2、软件:MySQL 8.0和Navicat 12 for MySQL
三、内容
数据库与表之间的关系:数据库是由各种数据表组成的,数据表是数据库中最重要的对象,用来存储和操作数据的逻辑结构。
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,是一个综合的、通用的、功能极强的,同时又简洁易学的语言。
select distinct 输出字段名列表
from 表名列表
where 筛选条件 and 连接条件
group by 分组字段
having 分组后的条件
order by 排序字段 asc|desc
limit <偏移量(起始行号),行数>
注意: (1)若输出表中全部字段,则可使用*代替(2)查询结果消除重复值distinct(3)limit语句中的偏移量(起始行号)默认从0开始(4)字段重命名:字段名|表达式 as 新名字(5)聚合函数的使用:count-个数、sum-求和、avg-平均值、max-最大值、min-最小值
常用函数:year()-求年份 now()—返回系统日期时间
四、内容
练习题目:
1、 查询学生选课信息,列出学号、姓名、性别、课程号、课程名、学分、成绩
2、 查询选修了1610课程且成绩及格的学生信息,列出学号、姓名、课程号、课程名、成绩
3、 查询选修的课程名中包含“应用”两字的学生选课信息。列出学号、课程号、课程名、成绩
4、 统计每位学生所选课程及格的课程门数,列出学号、姓名、及格课程门数
5、 统计每个学生所获的总学分,列出学号、姓名、总学分,按总学分降序排列
6、 统计每个学生选课信息,列出学号、姓名、选课门数、最高分、最低分、平均分、总分
7、 查询选课门数最多的学生选课信息,列出其姓名,选课门数
8、 分别统计各年份出生的男生人数和女生人数
9、 查询选修了课程的学生信息,列出学生的学号,姓名,课程号,课程名及成绩
10、 查询未选修课程的学生信息,列出学号,姓名
11、 查询未被选修的课程信息,列出课程号,课程名
12、 查询入学成绩高于平均入学成绩的学生信息,列出学号,姓名及入学成绩
13、 查询年龄最大的学生信息。列出学号,姓名及年龄
14、 查询选课成绩最高的学生信息,列出其学号,姓名、课程号及选课成绩。
对应题目答案:
1、 查询学生选课信息,列出学号、姓名、性别、课程号、课程名、学分、成绩
select *
from student,sc,course
where student.sno=sc.sno and sc.cid=course.cid
2、 查询选修了1610课程且成绩及格的学生信息,列出学号、姓名、课程号、课程名、成绩
select sc.sno,sname,sc.cid,cname,scores
from student,sc,course
where student.sno=sc.sno and sc.cid=1610 and scores>=60
3、 查询选修的课程名中包含“应用”两字的学生选课信息。列出学号、课程号、课程名、成绩
select sc.sno,sc.cid,cname,scores
from student,course,sc
where cname like '%应用%' and student.sno=sc.sno and sc.cid=course.cid
4、 统计每位学生所选课程及格的课程门数,列出学号、姓名、及格课程门数
select student.sno,student.sname,count(scores)
from student,sc
where student.sno=sc.sno and sc.scores>=60
group by sc.sno
5、 统计每个学生所获的总学分,列出学号、姓名、总学分,按总学分降序排列
select sc.sno,student.sname,sum(credit)
from student,sc,course
where student.sno=sc.sno and sc.cid=course.cid
group by sc.sno
order by sum(credit) desc
6、 统计每个
学生选课信息,列出学号、姓名、选课门数、最高分、最低分、平均分、总分
select student.sno,student.sname,count(cid),max(scores),min(scores),avg(scores),sum(scores)
from student,sc
where student.sno=sc.sno
group by student.sno
7、 查询选课门数最多的学生选课信息,列出其姓名,选课门数
select student.sname,count(*)
from student,sc
where student.sno=sc.sno
group by student.sname
order by count(*) desc
limit 0,1
8、 分别统计各年份出生的男生人数和女生人数
select year(birthdate) as 年份,sex,count(*)
from student
group by year(birthdate),sex
order by 1,3 desc
9、查询选修了课程的学生信息,列出学生的学号,姓名,课程号,课程名及成绩
select student.sno,sname,sc.cid,course.cname,scores
from sc,student,course
where student.sno=sc.sno and course.cid=sc.cid
10、 查询未选修课程的学生信息,列出学号,姓名
select sc.sno,sname
from sc right join student on sc.sno=student.sno
where sc.sno is not null
法2:select sno,sname from student where not exists(
select * from sc where sno=student.sno)
11、 查询未被选修的课程信息,列出课程号,课程名
select
from
where
12、 查询入学成绩高于平均入学成绩的学生信息,列出学号,姓名及入学成绩
select
from
where
13、 查询年龄最大的学生信息。列出学号,姓名及年龄
select *,year(now())-year(birthdate)
from student
order by 3 desc
limit 0,2
法2:
select sno,sname,year(now())-year(birthdate)
from student
where year(now())-year(birthdate)=(
select max(year(now())-year(birthdate))
from student)
14、 查询选课成绩最高的学生信息,列出其学号,姓名、课程号及选课成绩。
select *
from sc
where scores>=90
union
select *
from sc
where scores<60create view stuino as
select sno,sname from student
五、总结
好好学习,天天向上。
相关文章:
数据库系统--T-SQL数据查询功能-多表查询(超详细/设计/实验/作业/练习)
目录课程名:数据库系统内容/作用:设计/实验/作业/练习学习:T-SQL数据查询功能-多表查询一、前言二、环境与设备三、内容四、内容练习题目:对应题目答案:五、总结课程名:数据库系统 内容/作用:设…...
Spring Boot 3.0系列【14】核心特性篇之Configuration相关注解汇总介绍
有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot版本3.0.3 源码地址:https://gitee.com/pearl-organization/study-spring-boot3 文章目录 前言@Configuration@ConfigurationProperties@EnableConfigurationProperties@ConfigurationPropertiesScan@Configuratio…...
[ubuntu][jetson]给jetson增加swap空间类似于给windows加虚拟内存
具体操作如下: #打开性能模式 sudo nvpmodel -m 0 && sudo jetson_clocks #增加swap空间,防止爆内存 swapoff -a sudo fallocate -l 15G /swapfile sudo chmod 600 /var/swapfile sudo mkswap /swapfile sudo swapon /swapfile…...

小黑子—Java从入门到入土过程:第二章
Java零基础入门2.0Java系列第二章1. 注释和关键字2. 字面量3. 变量3.1 基本用法3.2 使用方式3.3 注意事项4. 变量练习5. 计算机中的数据存储5.1 计算机的存储规则5.2 进制5.3 进制间转换二进制转十八进制转十十六进制转十十进制转其他进制6. 数据类型7. 定义变量的练习8. 标识符…...
ElasticSearch搜索详细讲解与操作
全文检索基础 全文检索流程 流程: #mermaid-svg-7Eg2qFEl06PIEAxZ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7Eg2qFEl06PIEAxZ .error-icon{fill:#552222;}#mermaid-svg-7Eg2qFEl06PIEAxZ .error…...

web实现太极八卦图、旋转动画、定位、角度、坐标、html、css、JavaScript、animation
文章目录前言1、html部分2、css部分3、JavaScript部分4、微信小程序演示前言 哈哈 1、html部分 <div class"great_ultimate_eight_diagrams_box"><div class"eight_diagrams_box"><div class"eight_diagrams"><div class&…...

【LeetCode】33. 搜索旋转排序数组、1290. 二进制链表转整数
作者:小卢 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 目录 33. 搜索旋转排序数组 1290. 二进制链表转整数 33. 搜索旋转排序数组 33. 搜索旋转排序…...

IBM Semeru Windows 下的安装 JDK 17
要搞清楚下载那个版本,请参考文章:来聊聊 OpenJDK 和 JVM 虚拟机下载地址semeru 有认证版和非认证版,主要是因为和 OpenJ9 的关系和操作系统的关系而使用不同的许可证罢了,本质代码是一样的。在 Windows 下没有认证版,…...

Lambda表达式和steram流
目录 引言: 语法: Lambda 表达式实例: demo演示: Stream流: 引言: Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函…...

面试必会-MySQL篇
1. Mysql查询语句的书写顺序Select [distinct ] <字段名称>from 表1 [ <join类型> join 表2 on <join条件> ]where <where条件>group by <字段>having <having条件>order by <排序字段>limit <起始偏移量,行数>2. Mysql查询语…...

Hadoop入门常见面试题与集群时间同步操作
目录 一,常用端口号 Hadoop3.x : Hadoop2.x: 二,常用配置文件: Hadoop3.x: Hadoop2.x: 集群时间同步: 时间服务器配置(必须root用户): (1)…...
JS 数组去重的方法
// 数组去重 const arr ["1", "1", "2", "3", "5", "3", "1", "5", "4"] console.log(this.deduplicate(arr)) // [1, 2, 3, 5, 4] // 数组对象去重 const arr [ { id: 1, nam…...

PMP项目管理项目沟通管理
目录1 项目沟通管理2 规划沟通管理3 管理沟通4 监督沟通1 项目沟通管理 项目沟通管理包括通过开发工件,以及执行用于有效交换信息的各种活动,来确保项目及其相关方的信息需求得以满足的各个过程。项目沟通管理由两个部分组成:第一部分是制定…...

2.JVM常识之 运行时数据区
1.JVM核心组成 2.JVM 运行时数据区(jdk8) 程序计数器:线程私有,当前线程所执行字节码的行号指示器 jvm栈:线程私有,Java 虚拟机栈为 JVM 执行 Java 方法服务 本地方法栈:线程私有,本…...

你的游戏帐号是如何被盗的
据报道,2022上半年,中国游戏市场用户规模达到了5.54亿人,游戏市场销售收入1163.1亿元,相较去年均为同比增长的情况。如此庞大的市场规模,黑色产业链是绕不开的话题。 但相较于游戏中大家常见的玩家与玩家、玩家与官方…...

C++11异步编程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言1、std::future和std::shared_future1.1 std:future1.2 std::shared_future2、std::async3、std::promise4、std::packaged_task前言 C11提供了异步操作相关的类…...
20230310----重返学习-DOM元素的操作-时间对象-定时器
day-024-twenty-four-20230310-DOM元素的操作-时间对象-定时器 复习 获取元素 id document.getElementById() 类名 document.getElementsByClassName() 标签名 document.getElementsByTagName() name属性 document.getElementsByName() 选择器 document.querySelector()docum…...

江苏专转本转本人后悔排行榜
江苏专转本转本人后悔排行榜 一、复习的太迟: 后悔指数:五颗星。 复习越到最后,时间一天天变少,要复习的内容还有很多,很多人都后悔没有早早开始,总想着多给我两月一定会考上的。 担心时间不够用,那就努力利…...

【算法时间复杂度】学习记录
最近开算法课,开几篇文章记录一下算法的学习过程。 关于算法的重要性 学习计算机当程序员的话,在编程过程中是绕不开算法这个大矿山的,需要我们慢慢挖掘宝藏。 算法(Algorithm)是指用来操作数据、解决程序问题的一组…...
汽车车机芯片Linux系统内核编译问题总结
谈到车机,很多人会想到华为问界上装的大屏车机,号称车机的天花板,基于鸿蒙OS的,而今天谈到的车机芯片用的是linux内核Kernel,对于它的编译,很多人一时会觉得头大,的确如果工具不是很齐全,就会遇到这样那样的问题,但是过程都会有错误提示,按照错误提示基本可以解决,而…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...