mysql-sql-练习题-1

news2024/11/24 17:53:06

文章目录

  • 环境
  • 注释
  • 建表 5张
    • 建库
    • 学生表
    • 课程表
    • 教师表
    • 分数表
    • 总表
  • 语法书写顺序
  • in
    • 学过/没学过
    • 完全相同

环境

Windows cmd(普通用户/管理员)

mysql -uroot -p

mysql版本,模式(可自定义)

select version(),@@global.sql_mode;

在这里插入图片描述

注释

MySQL和Hive通用注释:–

建表 5张

建库

-- 创建数据库 指定编码格式
create database mysql_exercise charset = utf8;

学生表

create table student(
s_id varchar(10),
  s_name varchar(20),
  s_age date,
s_sex varchar(10));

insert into student
values  
  ('01','赵雷','1990-01-01','男'),
  ('02','钱电','1990-12-21','男'),
  ('03','孙风','1990-05-20','男'),
  ('04','李云','1990-08-06','男'),
  ('05','周梅','1991-12-01','女'),
  ('06','吴兰','1992-03-01','女'),
  ('07','郑竹','1989-07-01','女'),
  ('08','王菊','1990-01-20','女');

课程表

create table course(
c_id varchar(10),
  c_name varchar(20),
  t_id varchar(10));

insert into course
values  
  ('01' , '语文' , '02'),
  ('02' , '数学' , '01'),
  ('03' , '英语' , '03');

教师表

create table teacher(
t_id varchar(10),
t_name varchar(20));

insert into teacher
values  
  ('01' , '张三'),
  ('02' , '李四'),	
  ('03' , '王五');

分数表

create table score(
s_id varchar(10),
c_id varchar(10),
score varchar(10));

insert into score 
values 
  ('01' , '01' , 80),
  ('01' , '02' , 90),
  ('01' , '03' , 99),
  ('02' , '01' , 70),
  ('02' , '02' , 60),
  ('02' , '03' , 80),
  ('03' , '01' , 80),
  ('03' , '02' , 80),
  ('03' , '03' , 80),
  ('04' , '01' , 50),
  ('04' , '02' , 30),
  ('04' , '03' , 20),
  ('05' , '01' , 76),
  ('05' , '02' , 87),
  ('06' , '01' , 31),
  ('06' , '03' , 34),
  ('07' , '02' , 89),
  ('07' , '03' , 98);

总表

-- 查询语句建表
create table total(
  select 
    a.s_id,a.s_name,a.s_age,a.s_sex,b.c_id,ifnull(b.score,0) score,c.c_name,c.t_id,d.t_name
  from student a
  left join score b on a.s_id = b.s_id
  left join course c on b.c_id = c.c_id
  left join teacher d on c.t_id = d.t_id);

语法书写顺序

两门及以上,及格同学学号,平均成绩,格式:平均成绩降序,课程ID升序,结果显示第2-4行

select
  s_id,count(1) count_pass, -- 及格科数
  cast(avg(score) as decimal(5,2)) score_avg -- 平均成绩
from score
where score >= 60 -- 优先行级过滤,减少数据量
group  by s_id -- 分组(右侧括号图)
having count(1) >= 2 -- 组内过滤
order by any_value(score_avg) desc,any_value(c_id) -- 多字段排序;非分组字段满足语法模式
limit 1,3 -- 限制输出行数:从第1+1行开始,输出3行
;

在这里插入图片描述

in

单字段 in 单结果集
多字段 in 多结果集

学过/没学过

学过课程"01",没学过课程"02"的同学

select s_id,c_id,score
from score
where
  s_id in (select s_id from score where c_id = '01') -- 学过课程01的同学
  and
  s_id not in (select s_id from score where c_id = '02') -- 没学过课程02的同学
;

在这里插入图片描述

完全相同

和同学"01"学习课程完全相同的同学

select s_id,group_concat(c_id) c_id
from score
where c_id in (select c_id from score where s_id = '01') -- 至少一门相同
group by s_id
having count(1) = (select count(1) from score where s_id = '01') -- 门数相同
;

在这里插入图片描述

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

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

相关文章

选对伪原创改写软件,文章写作不犯难!

文章写作在当下火热的自媒体的行业中是一项非常重要的技能,只要是参与做自媒体的朋友,想要在内容输出方面不出现困难的情况,那么文章写作的技能基本要具备,但是我们依然能看到有很多不擅长写作的朋友也做起了自媒体,并…

为什么选择福汇外汇?

福汇外汇凭借其品牌信誉、丰富的交易产品、先进的交易平台、高杠杆和低保证金要求、专业的客户服务、严格的监管以及便捷的出入金方式,成为了许多投资者选择的外汇交易平台。 为什么选择福汇外汇? 1、品牌信誉:福汇外汇是全球最大的零售外汇交…

深度学习-自动求导

目录 向量链式法则标量链式法则 拓展到向量例题1例题2 符号求导数值求导自动求导计算图自动求导的两种模式链式法则正向累积(从x出发)反向累积(反向传递--先计算最终的函数即y)反向累积总结 自动求导计算y关于x的梯度,…

Virtualbox7.0.10--创建虚拟机

前言 下载Virtualbox7.0.10,可参考《Virtualbox–下载指定版本》 Virtualbox7.0.10具体安装步骤,可参考《Virtualbox7.0.10的安装步骤》 Virtualbox7.0.10创建虚拟机,可参考《Virtualbox7.0.10–创建虚拟机》 Virtualbox7.0.10安装Ubuntu20.0…

校园安全升级:AR实景监测场景方案

在教育领域,随着校园的逐步对外开放,学校正面临着前所未有的管理挑战。社会人员的大量涌入不仅带来了文化的交流和知识的分享,也给校园安全带来了诸多隐患。新闻报道中不断出现的校园安全事件,如入室伤人、盗窃和非法传销等&#…

7.19 下午题典型考点

一、安全防护体系 (一)来由 安全保护等级(5个):用户自主、系统审计、安全标记、结构化、访问验证(自己全借问) 为了对信息系统从不同角度做安全保护; 有利于从不同角度去加强信息系…

提示词工程入门-使用文心一言4.0-通义千问-GPT4-Claude3通用提示技巧测试

提示词工程基础🚀 在了解完了大语模型的基本知识,例如API的使用多轮对话,流式输出,微调,知识向量库等知识之后,接下来需要进一步补足的一个大块就是提示词工程,学习和了解提示词工程除了基本的提…

【逆向百例】百度翻译js逆向

关注它,不迷路。 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负! 前言 目标 分析某度翻译接口,使用python获取翻译结果,并用pyinstaller打包成单文件可执行程序。 工具 ch…

云端飞翔,一触即达 —— 100G网卡,连接未来

关于100G网卡,这是一种高速网络接口控制器,主要用于数据中心和高性能计算环境,以支持更快的数据传输速率。100G网卡可以提供每秒100吉比特的传输速率,适用于需要处理大量数据和高速网络通信的场合。 在选择100G网卡时,…

排序算法(2)快排

交换排序 思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 一、冒泡排序 public static…

【C++】stack queue的介绍使用以及模拟实现

目录 01.容器适配器 02.栈(stack) 1.stack的介绍 2.stack的使用 3.stack的模拟实现 03.队列(queue) 1.queue的介绍: 2.queue的使用 3.queue的模拟实现 04.双端队列(deque) 1.介绍 2.…

LeetCode1017题:负二进制转换(原创)

【题目描述】 给你一个整数 n ,以二进制字符串的形式返回该整数的 负二进制(base -2)表示。注意,除非字符串就是 "0",否则返回的字符串中不能含有前导零。 示例 1: 输入:n 2 输出&…

深度学习-N维数组和访问元素

目录 N维数组访问元素 N维数组 N维数组是机器学习和神经网络的主要数据结构 访问元素 最后一个子区域中的::是跳的意思,这个区域说明的是从第一个元素(即第一行第一列那个)对行开始跳3下循环下去直到行结束、对列开始跳2下循环下去直到列…

springboot拦载器

1、拦载器 package com.Interceptor;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.security.auth.login.Log…

如何快速申请SSL证书实现HTTPS访问?

申请SSL证书最简单的方法通常涉及以下几个步骤,尽量简化了操作流程和所需专业知识: 步骤一:选择适合的SSL证书类型 根据您的网站需求,选择最基础的域名验证型(DV SSL)证书,它通常只需验证域名所…

技术融合与创新大象机器人水星Mercury X1人形机器人案例研究!

引言 在科技迅速发展的当下,人形机器人正变得日益重要,其应用范围从工业自动化到服务业不断扩展。本文将通过Mercury X1大象人形机器人的案例,探讨如何利用尖端技术如大型语言模型(LLM)、同时定位与映射(SL…

雅思(IELTS)优秀小作文分享

IELTS优秀小作文分享 柱状图 本篇范文个人评分是8分或者8.5分,属于能找到的最优质的范文了 题目如下: The two sets of bar charts illustrate the amount of time that teenagers (boys, girls, and all) in the UK spend chatting online and playing game c…

2024 java使用Graceful Response,告别自己去封装响应,可以接收数据异常,快看我这一篇,足够你用!

参考官网手册地址&#xff1a;快速入门 | Docs 一、导入依赖&#xff08;根据springboot查看对应依赖版本&#xff09; <!-- Graceful --><dependency><groupId>com.feiniaojin</groupId><artifactId>graceful-response</artifactId&g…

GaussDB数据库事务管理

一、引言 事务管理是数据库系统中至关重要的一部分&#xff0c;它确保了数据库的一致性和可靠性。在GaussDB数据库中&#xff0c;事务管理不仅遵循传统的ACID特性&#xff0c;还提供了一些高级功能。本文将深入探讨GaussDB数据库事务管理的各个方面。 二、事务的基本概念 2.1…

CSS Position定位(详解网页中的定位属性)

目录 一、Position介绍 1.概念 2.特点 3.作用 4.应用 二、Position用法 1.position属性 2.static定位 3.fixed定位 4.relative定位 5.absolute定位 6.sticky定位 7.重叠的元素 三、CSS定位属性 四、总结 一、Position介绍 1.概念 文档流&#xff08;Document Fl…