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)