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

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。
在实际使用中,可根据具体的查询需求选择合适的连接类型。若需要获取所有记录,可考虑使用外连接;若只需匹配的记录,则使用内连接。

相关文章:

  • Lombok常用注解
  • C语言每日一练——day_12(最后一天)
  • Java protected 关键字详解及探究过程(详细、准确)
  • 实验二 进程通信
  • CVPR2025 | AnyAttack:对任意图像的视觉语言模型的目标性对抗攻击
  • 实现拖拽图片验证的基本步骤
  • vulhub Matrix-Breakout
  • Ai知识库私有化部署
  • Android Launcher3 首屏图标锁定技术方案解析
  • What a code!
  • 网格交易中倍数委托的实现方法
  • 软考程序员考试知识点汇总
  • 华为ipd流程华为流程体系管理华为数字化转型流程数字化管理解决方案介绍81页精品PPT
  • 漏洞知识点《Tornado框架中RequestHandler的对象》
  • 英语词性--连词
  • Model Context Protocol - Prompts
  • 智慧楼宇:科技编织的未来生活图景
  • dart学习记录3(函数)
  • 三.ffmpeg对yuv的操作
  • SSH连接中断原因分析(SSH断开、SSH中断、SSH连接断开、远程断开、远程中断)(带宽不足、网络抖动与丢包、CPU资源耗尽、内存不足、磁盘I/O瓶颈)
  • 竞彩湃|德甲欧冠资格竞争白热化,伯恩茅斯主场迎恶战
  • 匈牙利外长称匈方已驱逐两名乌克兰外交官
  • 比特币价格重返10万美元,哪些因素使然?
  • 稳住外贸基本盘,这个中部大省出手了
  • 上海如何为街镇营商环境赋能?送政策、配资源、解难题、强活力
  • 上交现场配乐4K修复版《神女》:默片巅峰有了新的打开方式