MySQL 基础教程[13]
MySQL 基础教程[13]
- 问题1
- 问题1代码
- 问题2
- 问题2代码
- 本系列MySQL 基础教程通过“问题-代码”的方式介绍各类方法,每篇设置2个MySQL综合问题,并给出解决方案。
问题1
kwgl数据库中有学生基本信息表student和系别表dept。表结构及说明如下:
student (sid, sname, score, deptno), 各字段的含义分别是: 学号、姓名、成绩、系别编号。 dept (deptno, deptname), 各字段的含义分别是: 系别编号、系名称。
- 在数据库中建立数据表 S\mathrm{S}S, 包含的字段有编号 (SNO, 主键, 自动增长整数列) 、姓名 (SName, 字符类型, 长度为 10 ) 、性别 (Sex, 字符类型, 长度为 1) 、年龄 (Age, 整型) 。请使用SQL语句创建该表。
- 在学生基本信息表student的deptno字段上创建一个名称为in_stu的升序索引。
- 针对学生基本信息表student, 请使用SQL语句统计不同系别学生的平均成绩。要求统计输出的列标题(别名)是: 系别、平均成綪。
student (sid, sname, score, deptno), 各字段的含义分别是: 学号、姓名、成绩、系别编号。dept (deptno, deptname), 各字段的含义分别是: 系别编号、系名称。 - 请使用SQL语句查询“数学系”所有学生的学号、姓名和成绩。
- 创建一个新用户, 用户名为“wang", 密码为“test1234", 指定登录服务器的IP为: 192.168.2.12。
问题1代码
#【1】
use kwgl;
create table s(
SNO int primary key auto_increment,
SName char(10),
Sex char(1),
Age int,
);
#【2】
create index in_stu on student(deptno ASC);
#【3】
select deptno as "系别", avg(score) "平均成绩" from student group by deptno;
#【4】
select sid, sname,score from student where deptno=(select deptno from dept where deptname="数学系");
#【5】
create user "wang"@"192.168.2.12" identified by 'test1234';
问题2
-
现有Customers表, 其中列 customerNumber为客户编号 (整数列) 、列creditlimit信贷限额(整数列) 记录了用户当 前的透支上限。现创建一个存储过程, 要求根据输入的客户编号, 通过一个输出参数返回用户的评级情况 (字符 串)若当前信贷限额大于 50000 , 则用户评级为 “1st Level”; 若当前信贷限额大于等于 10000 且小于等于 50000 , 则 用户评级为"2nd Level"; 若当前信贷限额小于 10000 , 则用户评级为 “3rd Level”。
-
kwg数据库中有学生基本信息表student, 系别表dept。表结构及说明如下:
student (sid, sname, score, deptno), 各字段的含义分别是: 学号, 姓名、成绩、系别编号。 dept (deptno, deptname), 各字段的含义分别是: 系别编号、系名称。
请修改函数GetAvgScoreByDeptName计算指定系的学生平均成绩, 输入系名字符串, 返回DOUBLE类型的平均成 绩。
问题2代码
#【1】
DELIMITER $$
CREATE procedure GetCustomerLevel(in p_customerNumber int(11), out p_customerLevel varchar(10))
BEGINDECLARE creditlim int;SELECT creditlimit INTO creditlimFROM customersWHERE customerNumber = p_customerNumber;IF creditlim > 50000 THENSET p_customerLevel = '1st Level';ELSEIF (creditlim<=50000 && 10000<=creditlim) THENSET p_customerLevel = '2nd Level';ELSEIF creditlim < 10000 THENSET p_customerLevel = '3rd Level';END IF;
END $$
DELIMITER ;#【2】
DELIMITER $$
CREATE FUNCTION GetAvgScoreByDeptName(name char(10))
RETURNS double
DETERMINISTIC
BEGIN
DECLARE tmpscore INT DEFAULT 0;
DECLARE counter INT DEFAULT 0;
DECLARE total INT DEFAULT 0;
DECLARE avgval DOUBLE DEFAULT 0;
DECLARE FOUND BOOLEAN DEFAULT TRUE;
DECLARE each_student CURSOR FOR
SELECT score FROM student s,dept d
WHERE d.deptname=name and s.deptno=d.deptno;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET FOUND=false;
OPEN each_student;
FETCH each_student INTO tmpscore;
WHILE FOUND DO
SET counter=counter+1;
SET total=total+tmpscore;
FETCH each_student INTO tmpscore;
END WHILE;
CLOSE each_student;
SET avgval=total/counter;
RETURN avgval;
END $$
DELIMITER ;
相关文章:
MySQL 基础教程[13]
MySQL 基础教程[13]问题1问题1代码问题2问题2代码本系列MySQL 基础教程通过“问题-代码”的方式介绍各类方法,每篇设置2个MySQL综合问题,并给出解决方案。 问题1 kwgl数据库中有学生基本信息表student和系别表dept。表结构及说明如下: student (sid, s…...
个人练习-Leetcode-826. Most Profit Assigning Work
题目链接:https://leetcode.cn/problems/most-profit-assigning-work/ 题目大意:给出一串任务,difficulty表示任务难度,profit表示任务的收益(以下简称diff和pro)。给出一串工人的能力worker。每个工人只能…...
云原生周刊:边缘计算会吞噬云吗?| 2023.3.13
文章推荐 边缘计算吞噬云? 这篇文章讨论了边缘计算对传统云计算的潜在冲击。 边缘计算是一种新型的计算架构,它将计算移动到离数据源和终端设备更近的地方,从而提供更快的响应时间和更好的用户体验。相比之下,云计算是一种集中…...
python+django+vue图书个性化推荐系统
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。 本图书个性化推荐系统结构图如图python manage.py runserver 开…...
经典文献阅读之--LIO-PPF(增量平面预拟合LIO)
0. 简介 自从ikd-tree出来后,现在越来越多的工作瞄准了增量式这种方法,比如说激光惯导里程计(LIDAR-Inertial Odometry,LIO)的高精度跟踪通常涉及最小化点到平面距离的k最近邻(kNN)搜索&#x…...
ChatGPT背后有哪些关键技术?CSIG企业行带你一探究竟
目录1 ChatGPT的时代2 CSIG企业行3 议题&嘉宾介绍3.1 对生成式人工智能的思考3.2 对话式大型语言模型研究3.3 文档图像处理中的底层视觉技术4 观看入口1 ChatGPT的时代 2015年,马斯克、美国创业孵化器Y Combinator总裁阿尔特曼、全球在线支付平台PayPal联合创始…...
C#基础之面向对象编程(二)
总目录 文章目录总目录前言一、概述1. 定义2. 面向对象的三大特性二、封装1. 定义2. 属性三、继承1. 定义2. 继承的使用3. base 和this四、多态1. 定义2. 重写和重载3. 多态性的实现1、静态多态性2、动态多态性4. 向上转型和向下转型1、定义2、语法格式3、案例结语前言 本文主…...
蓝桥杯刷题冲刺 | 倒计时25天
作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.完全二叉树1.完全二叉树 题目 链接: 完全二叉树的权值 - 蓝桥云课 (lanqiao.cn) 给…...
c语言—动态内存管理
一.为什么存在动态内存开辟开辟空间的特点:空间开辟大小是固定的数组在申明时,必须指定数组长度,她所需要的内存在编译时分配但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道ÿ…...
请说明Ajax、Fetch、Axios三者的区别
相同点: 1、三者都用于网络请求,但是不同维度 2、 Ajax(Asynchronous Javascript and XML),一种技术的统称,并不是实际的API 3、Fetch是一个具体的API,浏览器里面直接有一个API就叫Fetch 4、 Axios是一个第三方库&…...
阿里p8测试总监,让我们用这份《测试用例规范》,再也没加班过
经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如: 固然,编写一份好的测试用例需要:充分的需求分析能力 理论及经验加持,作为测试职场摸爬打滚的老人&…...
【Unity】数据持久化路径Application.persistentDataPath
今天突然想到这个路径Application.persistentDataPath,热更的重要路径,该文件夹可读可写,在移动端唯一一个可读写操作的文件夹。移动端可以将本地的资源(资源MD5值配置表)等一些文件放到StreamingAssets文件夹下&#…...
华为OD机试 - 插队(Java JS Python)
题目描述 某银行将客户分为了若干个优先级, 1 级最高, 5 级最低,当你需要在银行办理业务时,优先级高的人随时可以插队到优先级低的人的前面。 现在给出一个人员到来和银行办理业务的时间序列,请你在每次银行办理业务时输出客户的编号。 如果同时有多位优先级相同且最高…...
MongoDB数据库从入门到精通系列之八:调整oplog大小
MongoDB数据库从入门到精通系列之八:调整oplog大小 一、oplog的概念二、oplog大小三、调整oplog大小详细步骤一、oplog的概念 操作日志oplog包含了主节点执行的每一次写操作。oplog是存在于主节点local数据库中的一个固定集合。从节点通过查询此集合以获取需要复制的操作。每个…...
PCL 间接平差法拟合二维直线
目录 一、算法原理二、代码实现三、结果展示四、相关链接一、算法原理 通过传统最小二乘法对点云数据进行二维直线拟合时,可将误差只归因于一个方向上,本文假设误差只存在于 y y y轴方向上,设点云拟合的二维直线方程为: y =...
进程调度的基本过程
这里写目录标题什么是进程进程管理结构体或类的主要属性pid内存指针文件描述符表辅助进程调度的属性并发并行并发什么是进程 进程是操作系统对一个正在运行的程序的一种抽象,也就是说,一个运行起来的程序就是一个进程。 进程又是操作系统进行资源分配的…...
python自动化办公(二)
上接python自动化办公(一) 文章目录文件和目录操作使用shutil库文件查找globfnmatchhashlib文件和目录操作 使用shutil库 shutil库也是Python标准库,它可以处理文件、文件夹、压缩包,能实现文件复制、移动、压缩、解压缩等功能。…...
Qt Quick - GridLayout 网格布局
GridLayout 理论总结一、概述二、依赖属性三、例子1. 不含跨行的2. 带跨行列的3. 从右到左一、概述 GridLayout 是最常用的布局器,也叫网格布局器,如果网格布局被调整大小,布局中的所有 Item 将被重新排列。它类似于基于widget的QGridLayout…...
安卓手机也可以使用新必应NewBing
没有魔法安卓手机也可以使用新必应NewBing 目前知道的是安卓手机 安卓手机先安装一个猴狐浏览器 打开手机自带浏览器,搜索关键词:猴狐浏览器,找到官网 也可以直接复制这个网址 狐猴浏览器 lemurbrowser CoolAPK 我的手机是荣耀安卓手机…...
支付系统设计:消息重试组件封装
文章目录前言一、重试场景分析一、如何实现重试1. 扫表2. 基于中间件自身特性3. 基于框架4. 根据公司业务特性自己实现的重试二、重试组件封装1. 需求分析2. 模块设计2.1 持久化模块1. 表定义2. 持久化接口定义3. 持久化配置类2.2 重试模块1.启动2.重试3. 业务端使用1. 引入依赖…...
Visual Studio 2022 c#中很实用的VS默认快捷键和原生功能
常常使用VS感觉还是有必要掌握其默认的快捷键,我这个人比较懒,不喜欢动不动就去设置快捷键,系统有就用,记住了就可以到处用,问题是像我们这种有很多个工作场所的人不可能每台电脑都去配置一下快键键。实际上我使用3dma…...
Python的30个编程技巧
1. 原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: x,y 10,20 print(x,y) x,y y,x print(x,y) #1 (10, 20) #2 (20, 10) 赋值的右侧形成了一个新的元组,左侧立即解…...
MySQL:JDBC
什么是JDBC? JDBC( Java DataBase Connectivity ) 称为 Java数据库连接 ,它是一种用于数据库访问的应用程序 API ,由一组用Java语言编写的类和接口组成,有了JDBC就可以 用统一的语法对多种关系数据库进行访问,而不用担…...
C++【list容器模拟实现函数解析】
list容器&&模拟实现函数解析 文章目录list容器&&模拟实现函数解析一、list容器使用介绍二、list容器模拟实现及函数解析2.1 list结构体创建2.2 迭代器封装2.21 构造函数:2.22 前置和后置及- -2.23 解引用2.24 判断相等2.25 箭头重载2.26 第二个和第…...
(Java)试题 算法提高 约数个数
一、题目 (1)资源限制 内存限制:512.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s (2)输入 输入一个正整数N (3)输出 N有几个约数 &a…...
魔法反射--java反射初入门(基础篇)
👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 java反射初入门 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉🙉。 ♨️如果文章有…...
概率统计_协方差的传播 Covariance Propagation
1. 方差的传播 误差的传播是指分析在形如的关系中,参量误差(x)对变量误差(y)的影响有多大。误差的传播与函数的微分紧密相关,本质是在利用当Δ x 不大时,。 方差计算公式: X为变量,为总体均值,N为总体例数。求变量X与均值的差的平方再求平均值,即得到方差。方差…...
大学生考研的意义?
当我拿起笔头,准备写这个话题时,心里是非常难受的,因为看到太多的学生在最好的年华,在自由的大学本应该开拓知识,提升认知,动手实践,不断尝试和试错,不断历练自己跳出学生思维圈&…...
【C++笔试强训】第三十一天
🎇C笔试强训 博客主页:一起去看日落吗分享博主的C刷题日常,大家一起学习博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话:夜色难免微凉,前方必有曙光 🌞。 选择题 &#x…...
toString()、equals()是什么,为啥需要重写,多种方法来重写
https://m.runoob.com/java/java-object-class.html toString() 1.为什么会有toString 子类继承父类就可以使用父类所有非私有的属性的方法。 在Java中所有类都直接或者间接继承Object类,可以说只要是Object类里面定义的非私有的属性和方法,任何类都可…...
免费做国际贸易的网站/免费网站推广优化
原理如下: 代码如下: import pandas as pd import numpy as np import matplotlib.pyplot as pltdef build_data():准备数据:return:准备好的数据data_list []with open(./test.txt) as f:#将所有的元素读成一个列表lines f.readlines()#循环对每一行元…...
重庆点优建设网站公司/信息流优化师没经验可以做吗
给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们…...
做vue用哪个网站/橙子建站
介绍 Redis发布与订阅功能可以让用户将消息同时发送给多个客户端 角色说明 发布者(publisher): 发布消息的客户端。频道(channel): 构建在服务器内部,负责接收发布者发送的消息,并…...
网易做相册旅游网站/福建省人民政府
npm install less less-loader --save-dev 有可能报错: 版本原因: 降低less-loader版本 npm install less-loader4.1.0...
上海网站建设基础/网站运营主要做什么工作
●一份文档就是一棵节点树。●节点分为不同的类型:元素节点、属性节点和文本节点等。●getElementById()方法将返回一个对象,该对象对应着文档里的一个特定的元素节点。●getElementsByTagName()方法将返回一个对象数组,它们分别对应着文档里…...
山东网站排行/个人网站推广
package com.tiger;import java.nio.ByteBuffer;/*** 缓冲区分片案例* 在现有缓冲区对象中创建一个子缓冲区,即在现有缓冲区上切出一片作为一个新的缓冲区,* 但现有缓冲区与创建的子缓冲区在底层数组层面上是数据共享;* 也就是说,…...