sql server 练习题5
课后作业
在homework库下执行
作业1:
案例:根据用户分数划分等级。小于60分为不及格,[60,80)为及格,[80,90)为良好,大于等于90分以上为优秀。
建表语句:
CREATE TABLE Grades (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Score INT
);
数据插入语句:
-- 插入一些示例数据
INSERT INTO Grades (ID, Name, Score) VALUES (1, '张三', 95);
INSERT INTO Grades (ID, Name, Score) VALUES (2, '李四', 85);
INSERT INTO Grades (ID, Name, Score) VALUES (3, '王五', 70);
INSERT INTO Grades (ID, Name, Score) VALUES (4, '赵六', 58);
INSERT INTO Grades (ID, Name, Score) VALUES (5, '陈七', 30);
查询语句:
select Name, case when Score>90 then '优秀'
when Score>=80 and Score<90 then '良好'
when Score>=60 and Score<80 then '及格'
else '不及格' end from Grades; 希望得到的结果如下:

作业2:
查询过去一周内的活动记录
建表语句
CREATE TABLE ActivityLog (
ActivityID INT PRIMARY KEY IDENTITY(1,1),
UserID INT NOT NULL,
ActivityType VARCHAR(50) NOT NULL,
ActivityTime DATETIME NOT NULL
);
这个ActivityLog表设计包含ActivityID(主键,自动增长)、UserID(执行活动的用户ID)、ActivityType(活动类型,如登录、发布、评论等)和ActivityTime(活动发生的时间)字段。
数据插入语句
接下来,我们将插入一些示例数据,确保其中包含过去一周内的活动记录:
-- 插入过去一周内的活动记录
INSERT INTO ActivityLog(UserID, ActivityType, ActivityTime)
VALUES (101, 'Login', DATEADD(DAY, -3, GETDATE())), -- 三天前的登录活动
(102, 'Post', DATEADD(HOUR, -24, GETDATE())), -- 昨天的发帖活动
(103, 'Comment', DATEADD(DAY, -6, GETDATE())), -- 六天前的评论活动
(104, 'Logout', DATEADD(HOUR, -72, GETDATE())), -- 三天前的登出活动
(105, 'Like', GETDATE() - 7); -- 正好一周前的点赞活动
-- 插入超过一周的活动作为对比
INSERT INTO ActivityLog(UserID, ActivityType, ActivityTime)
VALUES (106, 'Share', DATEADD(WEEK, -2, GETDATE())); -- 两周前的分享活动
这些插入语句模拟了不同用户在过去一周内进行的各种活动记录,同时也加入了一条超过一周的记录作为对比,以便在执行查询时能明确区分哪些活动是在过去一周内发生的。
如果你想找出最近一周内所有的活动记录,查询语句应写为:
select *from ActivityLog where ActivityTime>=dateadd(week,-1,getdate()); 
作业3:
计算订单处理时长
如果有Orders表,包含OrderPlaced(订单下单时间)和OrderCompleted(订单完成时间)字段,你可以计算每个订单的处理时长:
建表语句
首先,我们来创建一个Orders表,以保存订单的放置时间和完成时间,以及其他可能需要的信息。
CREATE TABLE Orders (
OrderID INT PRIMARY KEY IDENTITY(1,1),
CustomerID INT NOT NULL,
OrderPlaced DATETIME NOT NULL,
OrderCompleted DATETIME,
TotalAmount DECIMAL(10, 2) NOT NULL
);
在这个表结构中,OrderID是主键且自动递增,CustomerID存储客户ID,OrderPlaced和OrderCompleted分别存储订单的放置时间和完成时间,而TotalAmount表示订单总金额。
数据插入语句
接下来,我们向Orders表中插入一些示例数据,包括订单的放置时间和完成时间,以便演示处理时长的计算。
-- 插入订单数据
INSERT INTO Orders(CustomerID, OrderPlaced, OrderCompleted, TotalAmount)
VALUES (101, '2024-05-01 14:30:00', '2024-05-01 15:45:00', 250.99), -- 处理时长1小时15分钟
(102, '2024-05-02 09:00:00', '2024-05-02 10:00:00', 120.50), -- 处理时长1小时
(103, '2024-05-03 16:30:00', NULL, 85.75), -- 未完成订单,处理时长未知
(104, '2024-05-04 10:15:00', '2024-05-04 11:00:00', 175.00); -- 处理时长45分钟
这些插入语句为不同的客户创建了订单记录,其中包含了订单的放置时间、完成时间(有的订单可能还未完成,所以OrderCompleted为NULL),以及订单的总金额。通过前面提供的查询语句,我们可以计算出已完成订单的处理时长(以分钟为单位)。请注意,最后一个订单的OrderCompleted字段是NULL,这意味着该订单尚未完成,所以在执行原始的查询时,它应被排除在外。
查询语句:
select *from Orders where OrderCompleted is not NULL; 最后结果应是:

作业4:
计算员工工龄
假设我们有一个公司员工信息表Employees,其中包含员工的入职日期(HireDate)。我们想要查询每位员工的工龄(以年为单位)。
建表语句
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY IDENTITY(1,1),
FirstName NVARCHAR(50) NOT NULL,
LastName NVARCHAR(50) NOT NULL,
HireDate DATE NOT NULL
);
这个表格定义了EmployeeID(员工ID,主键自动增长)、FirstName(名)、LastName(姓)和HireDate(入职日期)字段。
数据插入语句
INSERT INTO Employees(FirstName, LastName, HireDate)
VALUES ('John', 'Doe', '2020-01-01'), -- 入职于2020年
('Jane', 'Smith', '2019-07-15'), -- 入职于2019年
('Alice', 'Johnson', '2023-03-20'); -- 入职于2023年
这里插入了三个员工的记录,每个员工的入职日期不同。
查询语句
现在,我们要计算每个员工截止到当前时间的工龄,
查询语句:
select *,datediff(year,HireDate,getdate())as 工龄年数 from Employees; 最后结果应是:
相关文章:
sql server 练习题5
课后作业 在homework库下执行 作业1: 案例:根据用户分数划分等级。小于60分为不及格,[60,80)为及格,[80,90)为良好,大于等于90分以上为优秀。 建表语句: CREATE TABLE Grades ( ID INT PRIMARY KEY, Name V…...
ai伪原创生成器app,一键伪原创文章效率高
如今,在自媒体创作的领域,ai伪原创生成器app的出现,给写作带来了一种全新的方式和效率。ai伪原创生成器app通过使用先进的自然语言处理技术和深度学习算法,能够将原始文章进行重组和改写,生成新的文章,从而…...
【ZhangQian AI模型部署】目标检测、SAM、3D目标检测、旋转目标检测、人脸检测、检测分割、关键点、分割、深度估计、车牌识别、车道线识别
在模型部署落地(主要部署到rk3588)折腾了这么多年,把这些年折腾过的模型整理了一下,所有的流程说明、代码模型都完全开放的,欢迎交流学习。有的是为了项目、有的是为了学习、还有的是为了找点事做、有的完全是为了安抚…...
DROO论文笔记
推荐文章DROO源码及论文学习 读论文《Deep Reinforcement Learning for Online Computation Offloading in Wireless Powered Mobile-Edge Computing Networks》的笔记 论文地址:用于无线移动边缘计算网络在线计算卸载的深度强化学习 论文代码地址:DR…...
修BUG:程序包javax.servlet.http不存在
貌似昨晚上并没有成功在tomcat上面运行,而是直接运行了网页。 不知道为啥又报错这个。。。 解决方案: https://developer.baidu.com/article/details/2768022 就整了这一步就行了 而且我本地就有这个tomcat就是加进去了。 所以说啊,是不是&a…...
python常用库
目录 from sklearn import metrics:评估 编辑 svm: 编辑 逻辑回归预测 编辑 朴素贝叶斯分类 编辑 主成分分析 编辑 其实就是求b.T的协方差阵 编辑 【因子分析,因子旋转有点复杂,略】 【层次聚类,原理…...
【UE5.3】笔记11
一、变量的SET&&GET 1、创建变量保存数据,如下图,找到左侧我的蓝图下的变量,新增一个,并选择类型。使用的时候直接将变量拖到蓝图中,此时会显示两个选项一个是获取一个是设置。 选择获取就是个GET蓝图&#x…...
加密与安全 密钥体系的三个核心目标之完整性解决方案
在密钥体系中,确保数据完整性是重要目标之一。以下为您详细讲解相关的完整性解决方案: 消息认证码(MAC): 消息认证码是基于共享密钥和特定算法生成的固定长度代码。在发送方,将消息和共享密钥作为输入&…...
FastAPI 学习之路(四十一)定制返回Response
接口中返回xml格式内容 from fastapi import FastAPI, Responseapp FastAPI()# ① xml app.get("/legacy") def get_legacy_data():data """<?xml version"1.0"?><shampoo><Header>Apply shampoo here.</Header&…...
C++ //练习 15.9 在什么情况下表达式的静态类型可能与动态类型不同?请给出三个静态类型与动态类型不同的例子。
C Primer(第5版) 练习 15.9 练习 15.9 在什么情况下表达式的静态类型可能与动态类型不同?请给出三个静态类型与动态类型不同的例子。 环境:Linux Ubuntu(云服务器) 工具:vim 解释 当print_t…...
斐波那契查找算法
斐波那契查找原理,仅仅改变了中间结点(mid)的位置,mid不再是中间或插值得到,而是位于黄金分割点附近,即midlowF(k-1)-1(F代表斐波那契数列) F[k]F[k-1]F[k-2],>(F[k]-1) (F[k-1]-1)(F[k-2]-1)1 说明:只要顺序表的长度为F[k]-1,则可以将该…...
CAN总线学习
can主要用于汽车、航空等控制行业,是一种串行异步通信方式,因为其相较于其他通信方式抗干扰能力更强,更加稳定。原因在于CAN不像其他通信方式那样,以高电平代表1,以低电平代表0,而是通过电压差来表示逻辑10…...
zookeeper基础知识学习
官网:Apache ZooKeeper 下载地址:Index of /dist/zookeeper/zookeeper-3.5.7Index of /dist/zookeeperIndex of /dist/zookeeper/zookeeper-3.5.7 ZK配置参数说明: 1、tickTime2000:通讯心跳时间,zookeeper服务器与客…...
C语言内存管理深度解析面试题及参考答案(2万字长文)
在嵌入式面试时,C语言内存管理是必问面试题,也是难点,相关知识点可以参考: C语言内存管理深度解析 下面整理了各种类型的C语言内存管理的面试题: 目录 全局变量和局部变量在内存中分别存储在哪个区域? 静态变量和全局变量有什么区别? 什么是作用域?…...
C++基础(二)
目录 1.类和对象 1.1类的定义 1.2访问限定符 1.3类域 2.实例化 2.1实例化概念 2.2对象大小 3.this指针 4.类的默认成员函数 4.1构造函数 4.2析构函数 4.5运算符重载 1.类和对象 1.1类的定义 类的定义格式 class为定义类的关键字,Stack为类的名字&…...
R 绘图 - 中文支持
R 绘图 - 中文支持 R 是一种广泛使用的统计和数据分析编程语言,它提供了强大的绘图功能。然而,R 的默认设置并不直接支持中文,这可能会在使用 R 进行绘图时造成困扰,尤其是当需要在图表中添加中文标签或标题时。本文将介绍如何在…...
使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-标题菜单及游戏结束界面(九)
文章目录 开发思路标题菜单界面标题菜单脚本代码结束菜单界面结束菜单脚本代码 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击(一) 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件(二) 使用Godot4组件制作竖版…...
[终端安全]-6 移动终端之应用程序安全
笔者在终端安全专题前面的文章中介绍了移动终端硬件安全和操作系统安全,本文主要介绍移动终端应用安全。在本文最前面,笔者想先解答一位朋友的疑问,为什么需要费心打造一个完整的面面俱到的安全体系? 1 移动终端安全的重要性 移…...
基于望获实时Linux的高性能运动控制器适配
在快速迭代的工业自动化与机器人控制领域,高性能运动控制器无疑是实现极致精度与效率的核心引擎。实时操作系统(Real-Time Operating System,RTOS)凭借其低延迟与高度确定性的特性,成为这些高精度、高速度应用的首选平台。 望获…...
电气工程VR虚拟仿真实训平台以趣味化方式增强吸引力
在工业4.0时代和教育信息化的双重推动下,我们致力于推动实训课件的跨界合作与共创。VR实训课件不仅促进了不同领域、不同行业之间的紧密合作,更让学习变得生动直观。我们凭借3D技术生动、直观、形象的特点,开发了大量配套3D教材,让…...
保姆级教程:手把手教你用欧空局新版哥白尼系统下载Sentinel-2影像(含波段预览与无云影像合成)
零基础实战指南:新版哥白尼系统Sentinel-2影像全流程获取与处理 第一次接触欧空局的哥白尼数据下载系统时,面对琳琅满目的功能和专业术语,难免会感到无从下手。本文将带你一步步完成从注册到下载再到基础处理的全过程,特别针对Se…...
从零开始:使用ms-swift和GLM-4-9b-chat构建专业测试用例生成系统
从零构建基于GLM-4-9b-chat的智能测试用例生成引擎 在软件测试领域,测试用例设计的质量直接决定了缺陷发现效率。传统手工编写测试用例的方式往往面临覆盖率不足、重复劳动和知识传承困难等痛点。本文将完整演示如何利用ms-swift框架对GLM-4-9b-chat大模型进行领域…...
Granite TimeSeries FlowState R1赋能网络安全:异常流量检测与预测
Granite TimeSeries FlowState R1赋能网络安全:异常流量检测与预测 最近和几个做运维和安全的朋友聊天,大家普遍有个头疼的问题:面对海量的网络流量数据,怎么才能提前发现那些“不对劲”的苗头?等攻击真的发生了&…...
2026应届生面试避坑指南:避开这些致命细节,求职成功率翻倍
文章目录前言一、简历不是自传,而是广告文案第一个大坑:把简历做成PPT艺术展。第二个大坑:把简历写成流水账。第三个大坑:一份简历海投百家。二、八股文背得溜,场景题一到就露馅丢分细节一:只会背概念&…...
保姆级教程:用Python解析大疆无人机照片EXIF,实现正射影像像素坐标定位
大疆无人机正射影像像素级地理定位实战指南 从航拍到测绘:解锁影像元数据的空间密码 当大疆无人机的快门按下瞬间,传感器记录的远不止是可见光信息。每一张正射影像都像被精心封装的时间胶囊,内部藏着完整的空间坐标、飞行姿态和相机参数。这…...
MedGemma作品集:AI解读医学影像的精彩案例与效果展示
MedGemma作品集:AI解读医学影像的精彩案例与效果展示 1. 医学影像AI解读新纪元 医学影像分析正迎来AI技术带来的革命性变革。传统影像解读依赖专业医师的经验判断,而今天,像MedGemma这样的多模态大模型正在为这一领域带来全新可能。本文将带…...
Qwen3-14B镜像惊艳效果:复杂SQL生成+数据库Schema理解实测
Qwen3-14B镜像惊艳效果:复杂SQL生成数据库Schema理解实测 1. 开篇:当大模型遇上数据库 想象一下这样的场景:你刚接手一个陌生的数据库系统,面对几十张表、上百个字段,却需要快速写出复杂的多表关联查询。传统方式可能…...
【learn-claude-code】S08BackgroundTasks - 后台任务:慢操作放后台,Agent 继续思考
核心理念 “慢操作放后台,Agent 继续思考” – 后台线程执行命令,完成后通知模型。 源码:https://github.com/xiayongchao/learn-claude-code-4j/blob/main/src/main/java/org/jc/agents/S08BackgroundTasks.java原版:https://g…...
如何用League Director制作电影级英雄联盟视频?6个专业技巧让你的录像脱颖而出
如何用League Director制作电影级英雄联盟视频?6个专业技巧让你的录像脱颖而出 【免费下载链接】leaguedirector League Director is a tool for staging and recording videos from League of Legends replays 项目地址: https://gitcode.com/gh_mirrors/le/leag…...
家庭能量管理系统(HEMS)代码功能说明文章
家庭能源管理matlab 采用matlab编制家庭能源管理程序,包括各种家用电器的调度运行策略,程序通用性好。一、系统概述 家庭能量管理系统(Home Energy Management System, HEMS)是智能家居领域的核心应用之一,旨在通过智能…...
