SQL刷题整理(排序&修改)

文章介绍了如何使用SQL的IF和MOD函数来计算特定条件下的员工奖金,当员工ID为偶数或名字以M开头时奖金设为0。同时展示了如何使用UPDATE语句根据条件切换员工性别,以及如何删除数据库中重复的电子邮件,保留每个电子邮件分组的最小id记录。
摘要由CSDN通过智能技术生成

1873.计算特殊奖金 MOD IF LEFT
在这里插入图片描述
在这里插入图片描述
如果id为偶数或者名字以’M’开头,奖金均为0,并且结果还要按照employee_id排序
IF第一个参数写条件,第二个参数写条件成立返回的内容,第三个参数写条件不成立返回的内容;
Mod(a,b) 在sql中的意思是 a / b 的余数 # 基础用法:如果id需要是偶数或者奇数时就可以使用mod。
mod(id,2)=1 是指id是奇数
mod(id,2)=0 是指id是偶数。

SELECT
	employee_id,
	IF(MOD(employee_id,2)=0 OR LEFT(name,1)='M',0,salary) bonus
FROM
	Employees
ORDER BY 
	employee_id

627.变更性别 UPDATE IF CASE
在这里插入图片描述
在这里插入图片描述
UPDATE 更新某一行(where)的某几项(set)数据
在这里插入图片描述

UPDATE 
	Salary
SET
	sex = IF(sex='f','m','f');

还可以使用CASE … WHEN… THEN

UPDATE 
	Salary
SET
	sex = CASE sex
	WHEN 'f' THEN 'm'
	ELSE 'm'
	END;

196.删除重复的电子邮箱 DELETE
在这里插入图片描述
在这里插入图片描述
将表格按照email分组后,选取每个分组中最小的id,构成新表t,删除不在其中的id,保留下来的就是id最小的唯一的电子邮件
DELETE 删除某行(where)的数据

DELETE FROM 
	Person
WHERE
	id NOT IN
(SELECT * FROM 
(SELECT MIN(id) FROM Person GROUP BY email) t)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您介绍一下 SQL Server 刷题的相关内容。SQL Server 是一种关系型数据库管理系统,用于存储和管理大量结构化数据。在刷题过程中,您可以通过解决一系列与 SQL Server 相关的问题来提高对其的理解和应用能力。 以下是一些常见的 SQL Server 刷题方向和相关问题: 1. SQL 基础知识: - 什么是 SQL Server?它有哪些特点和优势? - SQL Server 中的数据类型有哪些?它们分别用于存储什么类型的数据? - 如何创建数据库和表格? - 如何插入、更新和删除数据? - 如何使用 SELECT 语句查询数据? 2. 数据查询与筛 - 如何使用 WHERE 子句进行条件选? - 如何使用 ORDER BY 子句对查询结果进行排序? - 如何使用 GROUP BY 子句进行分组聚合操作? - 如何使用 HAVING 子句进行条件筛选(针对分组后的结果)? . 数据操作与修改: - 如何使用 UPDATE 语句修改表格中的数据? - 如何使用 DELETE 语句删除表格中的数据? - 如何使用 INSERT INTO 语句插入新的数据? 4. 数据连接与联结: - 如何使用 JOIN 连接多个表格? - 什么是内连接、外连接和交叉连接? - 如何使用子查询进行复杂的数据查询? 5. 数据聚合与统计: - 如何使用聚合函数(如 SUM、AVG、COUNT、MAX、MIN)进行数据统计? - 如何使用 GROUP BY 子句进行分组统计? - 如何使用 HAVING 子句进行条件筛选(针对分组后的统计结果)? 这些问题只是 SQL Server 刷题中的一部分,您可以根据自己的需求和水平选择适合的题目进行练习。同时,还可以参考 SQL Server 官方文档、教程和在线资源来深入学习和提高技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值