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

SQL刷题笔记day6-1

1从不订购的客户

分析:从不订购,就是购买订单没有记录,not in

我的代码:

select c.name as 'Customers'
from Customers c
where c.id not in (select o.customerId from Orders o)

2  部门工资最高的员工

分析:每个部门(group by),薪资最高(排序取第一 or max函数),员工

我的错误代码:

select  d.name 'Department' ,e.name 'Employee' ,e.salary 'Salary' 
from Employee e join Department d on e.departmentId = d.id
group by d.id
order by e.salary

正确代码:按照(部门id和最大薪资)进行查询,这样才能保证找出同部门可能存在的多个最高薪资的员工。

select  d.name 'Department' ,e.name 'Employee' ,e.salary 'Salary' 
from Employee e join Department d on e.departmentId = d.id
where (e.departmentId,e.salary) in #找每个部门最高薪资的(可能不止一个)
(select departmentId,max(salary) from Employee 
group by departmentId)

 3 删除重复的电子邮箱

分析:重复的好找,如何删除?select——delete

我的代码:delete不会用 第一次,好像是delete中不能用分组函数group by?

delete id,email
from Person
group by id
having count(email)>1

 为什么这样也不行呢:

delete from Person
where id in 
(select id
from Person
group by id
having count(email)>1)

官方答案:from后调用自身表两次,email相等,但是重复的前面id不等,不等则删掉

delete p1
FROM Person p1,Person p2
WHEREp1.Email = p2.Email AND p1.Id > p2.Id

 

好了好了不卷了

http://www.lryc.cn/news/358165.html

相关文章:

  • KITTI数据中pose含义
  • C++模拟实现stack和queue
  • awtk踩坑记录一:awtk-web build.py编译过程笔记
  • docker容器中解决中文乱码
  • Javascript 位运算符(,|,^,<<,>>,>>>)
  • Golang项目代码组织架构实践
  • 网工内推 | 国企信息安全工程师,CISP认证优先
  • RAG 高级应用:基于 Nougat、HTML 转换与 GPT-4o 解析复杂 PDF 内嵌表格
  • 《TCP/IP网络编程》(第十二章)I/O复用(2)
  • AI企业需要“联盟营销”?一文带你探索AI企业营销新玩法!
  • 你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解
  • JavaWeb基础(一)-IO操作
  • 拼多多(PDD)社招一面原题
  • 类中使用QtConcurrent::run
  • 基于深度学习的中文情感分析系统python flask
  • Mysql联合索引
  • Linux基础指令用户管理003
  • java图书电子商务网站的设计与实现源码(springboot+vue+mysql)
  • 全球首个多语种手语视频生成模型诞生:SignLLM
  • 初学C语言100题:经典例题节选(源码分享)
  • C++设计模式之策略模式、迭代器模式、适配器模式、工厂模式、超级工厂模式、享元模式、代理模式
  • 18 js时间对象
  • 安卓赤拳配音v1.0.2Ai配音神器+百位主播音色
  • 前端面试题日常练-day40 【面试题】
  • UG NX二次开发(C#)-UFun函数-利用UFPart.Export导出模型中的对象并创建一个新的part
  • SFOS2:组件介绍
  • 交换机的三层交换技术
  • 探秘URL的奥义:JavaScript中轻松获取页面参数值的N种姿势【含代码示例】
  • VSCode小技巧,忽略不想格式化的代码行
  • 揭秘网络编程:同步与异步IO模型的实战演练