力扣日记——数据库篇(2)

力扣日记——数据库篇(2)

181

在这里插入图片描述
解:

select e.Name as "Employee" from Employee e
WHERE e.Salary>(select Salary FROM Employee WHERE Id=e.ManagerID )

1179

在这里插入图片描述
主要是group by

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

注意一定要有聚合函数,比如sum

解:

select id,
	sum(if(month='Jan',revenue,null)) as Jan_Revenue,
	sum(if(month='Feb',revenue,null)) as Feb_Revenue,
	sum(if(month='Mar',revenue,null)) as Mar_Revenue,
	sum(if(month='Apr',revenue,null)) as Apr_Revenue,
	sum(if(month='May',revenue,null)) as May_Revenue,
	sum(if(month='Jun',revenue,null)) as Jun_Revenue,
	sum(if(month='Jul',revenue,null)) as Jul_Revenue,
	sum(if(month='Aug',revenue,null)) as Aug_Revenue,
	sum(if(month='Sep',revenue,null)) as Sep_Revenue,
	sum(if(month='Oct',revenue,null)) as Oct_Revenue,
	sum(if(month='Nov',revenue,null)) as Nov_Revenue,
	sum(if(month='Dec',revenue,null)) as Dec_Revenue
from Department
group by id

这里月份是字符串要加引号

182

在这里插入图片描述
distinct 去重

select distinct e1.Email from Person e1,Person e2 where e1.Email=e2.Email and e2.Id!=e1.Id

196

考察DELETE用法
在这里插入图片描述
解:

delete e1 from Person e1,Person e2 WHERE e1.Id>e2.Id and e1.Email=e2.Email

596

在这里插入图片描述

SELECT
    class
FROM
    (SELECT
        class, COUNT(DISTINCT student) AS num
    FROM
        courses
    GROUP BY class) as temp
WHERE
    num >= 5

先用一个group by和count把计数计出来,然后再从临时表挑满足的class

197

在这里插入图片描述
DATEDIFF,学到了
在这里插入图片描述

175

在这里插入图片描述
考察join

select FirstName,LastName,City,State from Person left join Address on Person.PersonId=Address.PersonId

595

select name,population,area from World where area>3000000 or population>25000000

太简单了,拯救了我疲惫的心

176

在这里插入图片描述

select(select distinct Salary from Employee order by Salary desc limit 1,1)as SecondHighestSalary 

先order by降序,然后用limit找第二高
要加distinct防止重复,为了出null可以在外面包一层select,里面作为临时表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值