大数据开发 --- sql刷题篇
⏳环境:window10、CentOs7、VMware15.5
📃专栏:刷题篇(力扣sql题)
🎯选自:大数据开发
本专栏:主要说明一些注意点和大致步骤,不涉及具体的安装步骤,具体安装步骤网上教程很多,大家可以自行去搜索。后续有空的话,也会补全具体步骤。
力扣sql题
- 1.基本的增删改查(Person表)
- 2.其他需要注意的点
- 2.1 order by和group by
- 2.2 join(inner join)、left join、right join
- 2.3 null 需要和 is 搭配
- 2.4 %通配符
- 2.5 大小写转换,拼接
- 2.6 去重,组连接,按序组合
1.基本的增删改查(Person表)
# 1.TODO:查找
select ID as i from Person;# 2.TODO:修改
update Person set sex where if(条件,真时运行,假时运行)#3.TODO:删除
delete from Person
where 条件
2.其他需要注意的点
2.1 order by和group by
## order by:用于排序 desc
## group by:用于分组;# 力扣196: 删除重复的电子邮箱
delete from Person
where id not in (select IDfrom(select Min(id) as IDfrom Persongroup by email)t
)
# 力扣175:组合两个表
delete from Person
where id not in (select IDfrom(select Min(id) as IDfrom Persongroup by email)t ## 必须要有个t,否则会出错
)
2.2 join(inner join)、left join、right join
# 力扣175:组合两个表
select firstName,lastName,city,state from Person p
left join Address a on p.personId = a.personId;> 参考文献:https://blog.csdn.net/calmreason/article/details/46680851?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-8-46680851-blog-124474606.pc_relevant_3mothn_strategy_and_data_recovery&spm=1001.2101.3001.4242.5&utm_relevant_index=11
2.3 null 需要和 is 搭配
# 力扣584:寻找用户推荐人
select name from customer
where referee_id is NULL or referee_id!=2;
2.4 %通配符
# 力扣1873:计算特殊奖金
select employee_id,
# 符合就前面,不符合就后面
if (employee_id%2=1 and name not like 'M%',salary,0
) as bonus
from Employees
order by employee_id;## 文章详解:https://blog.csdn.net/u010865736/article/details/84384678?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167695961916782427455482%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167695961916782427455482&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-3-84384678-null-null.142^v73^insert_down3,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=sql%E9%80%9A%E9%85%8D%E7%AC%A6&spm=1018.2226.3001.4187
2.5 大小写转换,拼接
- 修复表中的名字
考察点:字符串截取、拼接以及大小写转换操作
1、截取函数:SUBSTRING(str,begin,length) ## begin从1开始,length不设置,默认至最后
2、拼接函数:CONCAT(str1,str2)
3、大小写转换:UPPER(str)/LOWER(str)
select user_id,
concat(upper(substring(name,1,1)),lower(substring(name,2))) as name
from Users
order by user_id
2.6 去重,组连接,按序组合
力扣1484. 按日期分组销售产品# 查找每个日期、销售的不同产品的数量及其名称。
# 每个日期的销售产品名称应按词典序排列。
# 返回按 sell_date 排序的结果表。select sell_date, # 获取“不同的”产品数【count(distinct product)】count(distinct product) as num_sold, # “不同的”【distinct product】产品按照字典排序【order by product】 & “,”分割【separator ','】group_concat(distinct product order by product separator ',') as products
from Activities
group by sell_date
order by sell_date;
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
