当前位置: 首页 > news >正文

数据库系统--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)查询结果消除重复值distinct3limit语句中的偏移量(起始行号)默认从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 null2select 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数据查询功能-多表查询(超详细/设计/实验/作业/练习)

目录课程名&#xff1a;数据库系统内容/作用&#xff1a;设计/实验/作业/练习学习&#xff1a;T-SQL数据查询功能-多表查询一、前言二、环境与设备三、内容四、内容练习题目&#xff1a;对应题目答案&#xff1a;五、总结课程名&#xff1a;数据库系统 内容/作用&#xff1a;设…...

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加虚拟内存

具体操作如下&#xff1a; #打开性能模式 sudo nvpmodel -m 0 && sudo jetson_clocks #增加swap空间&#xff0c;防止爆内存 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搜索详细讲解与操作

全文检索基础 全文检索流程 流程&#xff1a; #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. 二进制链表转整数

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

IBM Semeru Windows 下的安装 JDK 17

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

Lambda表达式和steram流

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

面试必会-MySQL篇

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

Hadoop入门常见面试题与集群时间同步操作

目录 一&#xff0c;常用端口号 Hadoop3.x &#xff1a; Hadoop2.x&#xff1a; 二&#xff0c;常用配置文件&#xff1a; Hadoop3.x: Hadoop2.x: 集群时间同步&#xff1a; 时间服务器配置&#xff08;必须root用户&#xff09;&#xff1a; &#xff08;1&#xff09…...

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 项目沟通管理 项目沟通管理包括通过开发工件&#xff0c;以及执行用于有效交换信息的各种活动&#xff0c;来确保项目及其相关方的信息需求得以满足的各个过程。项目沟通管理由两个部分组成&#xff1a;第一部分是制定…...

2.JVM常识之 运行时数据区

1.JVM核心组成 2.JVM 运行时数据区&#xff08;jdk8&#xff09; 程序计数器&#xff1a;线程私有&#xff0c;当前线程所执行字节码的行号指示器 jvm栈&#xff1a;线程私有&#xff0c;Java 虚拟机栈为 JVM 执行 Java 方法服务 本地方法栈&#xff1a;线程私有&#xff0c;本…...

你的游戏帐号是如何被盗的

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

C++11异步编程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言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…...

江苏专转本转本人后悔排行榜

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

【算法时间复杂度】学习记录

最近开算法课&#xff0c;开几篇文章记录一下算法的学习过程。 关于算法的重要性 学习计算机当程序员的话&#xff0c;在编程过程中是绕不开算法这个大矿山的&#xff0c;需要我们慢慢挖掘宝藏。 算法&#xff08;Algorithm&#xff09;是指用来操作数据、解决程序问题的一组…...

汽车车机芯片Linux系统内核编译问题总结

谈到车机,很多人会想到华为问界上装的大屏车机,号称车机的天花板,基于鸿蒙OS的,而今天谈到的车机芯片用的是linux内核Kernel,对于它的编译,很多人一时会觉得头大,的确如果工具不是很齐全,就会遇到这样那样的问题,但是过程都会有错误提示,按照错误提示基本可以解决,而…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...