数据库系统--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,对于它的编译,很多人一时会觉得头大,的确如果工具不是很齐全,就会遇到这样那样的问题,但是过程都会有错误提示,按照错误提示基本可以解决,而…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...
