sql小记,20250319
ps:基于sqlserver
一、绩效管理系统表设计
1.表设计
Users用户表:包含id,用户名,密码。
AppraisalBases评价(职位基数)表:包含职位id,职位年终奖基数
AppraisalCoeffcients评价系数表:包含类别id, 类别(迟到、早退、加班)、系数(0.1、0.2)、指数(1,-1)
UserAppraisals用户评价表(用户迟到了多少次,加班多少次):包含用户id,评价系数id,迟到次数,早退,加班次数。
2.对应sql
新建用户:
INSERT INTO Users (UserName, Password) VALUES ('JohnDoe', 'SecurePass123');
更新用户表:
UPDATE Users SET PassWord=@PassWord,UserName=@UserName WHERE Id = @Id
查询用户和职位的关系:(1、2表联查)
SELECT u.Id,u.UserName,u.Sex,u.BaseTypeId,u.IsDel,a.AppraisalBase,a.BaseType From Users u LEFT JOIN AppraisalBases a ON u.BaseTypeId = a.Id
查询用户迟到了多少次:(3、4表联查)
SELECT ua.*,ac.AppraisalType,ac.AppraisalCoefficient,ac.CalculationMethod FROM UserAppraisals ua LEFT JOIN AppraisalCoefficients ac ON ua.CoefficientId = ac.Id
四个表一起联查,根据某教学视频,发现是把1、2表联查结果和3、4表联查结果给遍历合并。应该也可以四表联查。
二、学生选课四表联查
1.表设计
假设存在四个表,分别是 Students、Courses、Enrollments 和 Teachers,它们的结构和关联关系如下:
Students 表存储学生信息,包含 StudentID(学生编号,主键)和 StudentName(学生姓名)。
Courses 表存储课程信息,包含 CourseID(课程编号,主键)和 CourseName(课程名称)。
Enrollments 表存储学生选课信息,包含 EnrollmentID(选课编号,主键)、StudentID(外键,关联 Students 表的 StudentID)和 CourseID(外键,关联 Courses 表的 CourseID)。
Teachers 表存储教师信息,包含 TeacherID(教师编号,主键)、TeacherName(教师姓名)和 CourseID(外键,关联 Courses 表的 CourseID)。
2.对应sql
SELECT s.StudentName,c.CourseName,t.TeacherName
FROM Students s
JOIN Enrollments e ON s.StudentID = e.StudentID
JOIN Courses c ON e.CourseID = c.CourseID
JOIN Teachers t ON c.CourseID = t.CourseID;
三、左连接,右连结、内连接的区别
JOIN(内连接):只返回两个表中匹配的记录。
LEFT JOIN(左外连接):返回左表的所有记录以及右表中匹配的记录,右表无匹配记录时显示 NULL。
RIGHT JOIN(右外连接):返回右表的所有记录以及左表中匹配的记录,左表无匹配记录时显示 NULL。
在实际使用中,可根据具体的查询需求选择合适的连接类型。若需要获取所有记录,可考虑使用外连接;若只需匹配的记录,则使用内连接。
相关文章:
sql小记,20250319
ps:基于sqlserver 一、绩效管理系统表设计 1.表设计 Users用户表:包含id,用户名,密码。 AppraisalBases评价(职位基数)表:包含职位id,职位年终奖基数 AppraisalCoeffcients评价系数表:包含类别id, 类别&…...
C语言每日一练——day_7
引言 针对初学者,每日练习几个题,快速上手C语言。第七天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…...
Java使用FFmpegFrameGrabber进行视频拆帧,结合Thumbnails压缩图片保存到文件夹
引入依赖 <dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.17</version></dependency><dependency><groupId>org.bytedeco</groupId><artifactId>ja…...
C#的简单工厂模式、工厂方法模式、抽象工厂模式
工厂模式是一种创建型设计模式,主要将对象的创建和使用分离,使得系统更加灵活和可维护。常见的工厂模式有简单工厂模式、工厂方法模式和抽象工厂模式,以下是 C# 实现的三个案例: 简单工厂模式 简单工厂模式通过一个工厂类来创建…...
用hexo初始化博客执行hexo init时碰到的问题
用hexo初始化博客执行hexo init时碰到的问题 $ hexo init myblog INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git fatal: unable to access https://github.com/hexojs/hexo-starter.git/: SSL certificate problem: unable to get local issuer cer…...
4.1--入门知识扫盲,ISO知识体系介绍(看一遍,协议啥的全部记住)
OSI七层模型:网络世界的"七重天"生存指南(附快递小哥版图解) “如果你觉得网络分层很抽象,那就想象自己在寄快递” —— 来自一个被三次握手逼疯的程序员 开场白:网络通信就像送外卖 假设你要给隔壁妹子送奶…...
AI训练如何获取海量数据,论平台的重要性
引言:数据——AI时代的“新石油” 在人工智能和大模型技术飞速发展的今天,数据已成为驱动技术进步的 “ 燃料 ”。无论是训练聊天机器人、优化推荐算法,还是开发自动驾驶系统,都需要海量、多样化的数据支持。 然而,获…...
Axure高级功能深度解析一一高效原型设计的利器
Axure作为一款专业的原型设计工具,凭借其强大的功能和灵活的交互设计,成为了众多设计师和开发者的首选。本文将深入探讨Axure的高级功能,帮助大家更好地利用这款工具,提升原型设计的效率和质量。 一、Axure高级功能概览 • 变量管…...
QT国产化系统软件开发
一、国产操作系统 1、鸿蒙HarmonyOS NEXT 核心架构 采用自研鸿蒙内核,完全脱离Linux与AOSP代码,基于分布式架构实现跨设备资源虚拟化整合,支持动态调度多终端硬件能力。通过分布式软总线技术(D-Bus)实现低时延…...
Git 使用SSH登陆
一、SSH介绍 SSH连接相比于HTTP连接会简单一点,因为SSH连接通过了私钥与公钥进行身份认证,这样就不需要像HTTP一样,每次clone或者操作仓库都需要输入密码 其中私钥和密钥是需要在自己电脑上生成的,通过命令即可生成一个私钥和一个…...
织梦DedeCMS修改文章【标题、短标题、关键词】长度限制
在后台虽然可以设置标题的长度,但是数据库的字段固定是60个字符,短标题是36字符,关键词30字符,所以这里教大家修改一下织梦DedeCMS修改【标题】【短标题】【关键词】长度限制 一、后台配置 1、进入dede后台管理 -> 系统 ->…...
Powershell WSL部署ubuntu22.04.5子系统
前提条件WSL 安装 wsl 安装参考1wsl 安装csdn参考2wsl 百度网盘离线下载 本地目录安装ubuntu22.04.5 子系统 powershell 管理员打开执行(实现,下载安装ubuntu子系统,用户创建,远程ssh登录设置,防火墙端口开放)子系统IP 查看方法wsl...
umi自带的tailwindcss修改为手动安装
1》为什么改为手动? 主要是为了解决这个报错问题,虽然重新运行也可解决,但是总是要运行2-3次,比较麻烦 2》如何手动 1,先在devDependencies下安装这两个包 pnpm install postcss8.5.1 -D "autoprefixer"…...
Android 13 Launcher3最近任务列表“全部清除“按钮位置优化实战
一、问题背景与实现难点 在Android 13横屏设备开发中,系统默认将最近任务列表的"全部清除"按钮布局在屏幕左侧,这与用户习惯的底部布局存在明显差异。相较于Android 8.1时代SystemUI模块的实现,Android 13将相关逻辑迁移至Launche…...
基于k3s部署Nginx、MySQL、SpringBoot和Redis的详细教程
1. 安装k3s集群 1.1 单节点快速部署 # 使用root或sudo权限执行 curl -sfL https://get.k3s.io | sh -# 验证安装 sudo kubectl get nodes # 输出应为Ready状态 sudo systemctl status k3s1.2 配置kubectl权限(可选) mkdir -p ~/.kube sudo cp /etc/r…...
SQL Server数据库简介及应用
SQL Server以高性能、高可用性著称,支持Windows/Linux跨平台部署,满足混合云需求。其内存优化表、列存储索引加速数据处理,AlwaysOn可用性组保障业务连续性。安全体系集成身份验证与加密,符合企业合规要求。与Azure无缝集成&#…...
麒麟V10 arm cpu aarch64 下编译 RocketMQ-Client-CPP 2.2.0
国产自主可控服务器需要访问RocketMQ消息队列,最新的CSDK是2020年发布的 rocketmq-client-cpp-2.2.0 这个版本支持TLS模式。 用默认的版本安装遇到一些问题,记录一下。 下载Releases apache/rocketmq-client-cpp GitHubhttps://github.com/apache/roc…...
【商城实战(49)】解锁小程序端适配与优化,让商城飞起来
【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配…...
使用码云搭建CocoaPods远程私有库
一、创建远程私有索引库 用来存放私有框架的详细描述信息.podspec文件 1. 创建私有库 假设码云上创建的私有库为repo-spec 2. 查看本地已存在的索引库 pod repo list 3. 将远程私有索引库添加到本地 pod repo add [https://gitee.com/jingluoguo/repo-spec.git](https://gi…...
深度学习有哪些算法?
深度学习包含多种算法和模型,广泛应用于图像处理、自然语言处理、语音识别等领域。以下是主要分类及代表性算法: 一、基础神经网络 多层感知机(MLP) 最简单的深度学习模型,由多个全连接层组成,用于分类和回…...
专访LayaAir引擎最有价值专家-施杨
在 LayaAir 引擎的资源商店中,许多开发者都会注意到一个熟悉的名字——“射手座”。他不仅贡献了大量高质量的 Shader 资源,让一些开发者通过他的作品了解到 LayaAir 引擎在 3D 视觉效果上的更多可能,也让大家能够以低成本直接学习并应用这些…...
AJAX的理解和原理还有概念
你想问的可能是 AJAX(Asynchronous JavaScript and XML) ,它并不是一门新的编程语言,而是一种在无需重新加载整个网页的情况下,能够与服务器进行异步通信并更新部分网页的技术。以下从基本概念、原理、优点、使用场景等…...
自然语言处理:文本聚类
介绍 大家好,博主又来和大家分享自然语言处理领域的知识了。今天给大家分享的内容是自然语言处理中的文本聚类。 文本聚类在自然语言处理领域占据着重要地位,它能将大量无序的文本按照内容的相似性自动划分成不同的类别,极大地提高了文本处…...
RabbitMQ 集群降配
这里写自定义目录标题 摘要检查状态1. 检查 RabbitMQ 服务状态2. 检查 RabbitMQ 端口监听3. 检查 RabbitMQ 管理插件是否启用4. 检查开机自启状态5. 确认集群高可用性6. 检查使用该集群的服务是否做了断开重连 实操1. 负载均衡配置2. 逐个节点降配(滚动操作…...
uniapp工程中解析markdown文件
在uniapp中如何导入markdown文件,同时在页面中解析成html,请参考以下配置: 1. 安装以下3个依赖包 npm install marked highlight.js vite-plugin-markdown 2. 创建vite.config.js配置文件 // vite.config.js import { defineConfig } fro…...
数据结构:二叉树(一)·(重点)
前言 什么树?what? 树的概念与结构 概念: 树是⼀种⾮线性的数据结构,它是由 n ( n>0 ) 个有限结点组成⼀个具有层次关系的集合。 结构: 有⼀个特殊的结点,称为根结点&#…...
DevEco Studio的使用
目录 1.创建ArkTS工程 2.ArkTS工程目录结构(Stage模型) 构建第一个页面 构建第二个页面 实现页面间的跳转 1.创建ArkTS工程 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择…...
十七、实战开发 uni-app x 项目(仿京东)- 后端指南
前面我们已经用uniappx进行了前端实战学习 一、实战 开发uni-app x项目(仿京东)-规划-CSDN博客 二、实战 开发uni-app x项目(仿京东)-项目搭建-CSDN博客 三、实战开发 uni-app x 项目(仿京东)- 技术选型-CSDN博客 四、实战开发 uni-app x 项目(仿京东)- 页面设计-C…...
数据开发岗笔试题>>sql(hive) ,excel [2025]
sql SELECT user_id, AVG(loan_amount) AS avg_loan_amount FROM loan GROUP BY user_id HAVING AVG(loan_amount) > 20000; 授信表:credit 字段包含user_id(用户id),credit_id(授信id),credit_time(授信时间yyyy-MM-dd HH:mm:ss)&#x…...
内存模型以及分区,需要详细到每个区放什么。
1. 内存模型以及分区,需要详细到每个区放什么。 JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面, class 类信息常量池(static 常量和 static 变量)等放在方法区new: …...
