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

sql语句练习注意点

1、时间可以进行排序,也可以用聚合函数对时间求最大值max(时间)

例如下面的例子:取最晚入职的人,那就是将入职时间倒序排序,然后limit 1

表:

 场景:查找最晚入职员工的所有信息

select * from employees order by hire_date desc limit 1

方法二:子查询 

select * from employees where hire_date=(select max(hire_date) from employees)

2、 limit可以单独两个参数使用,也可以和offset一起使用

例如:

表:

业务需求: 

代码:limit两个参数单独使用:倒序排序,从第三行开始显示,显示一行数据

select * from employees order by hire_date desc limit 2,1

或者:结合offset使用:

select * from employees order by hire_date desc limit 1 offset 2

 

3、内连接、左连接、右连接的连接后表的合并情况:

(1)两表内连接的结果是将后面的表拼接在前面的表后面

看例子:两个表:

内连接代码:

select *
from salaries sa join dept_manager  de on sa.emp_no=de.emp_no

结果: 

 (2)右连接

两个表:

 上面的表右连接下面的表,代码如下:

select *
from employees e right join dept_emp d on e.emp_no=d.emp_no

结果:

虽然是右连接,但是上面的表在right join的前面,前面的表右连接后面的表,那前面的表就在最后的结果中在前面展示,后面的表在后面展示,但是右连接是保留后面的表的所有行

 

4、新型思路:找第二大的数据,先把第一大的数据筛选掉,然后再在表格中找第一大也就是原本表格的第二大的数据了

表:

需求: 

代码:

select e.emp_no,s.salary,e.last_name,e.first_name
from employees e join salaries s on e.emp_no=s.emp_no
where s.salary=(select max(s2.salary)from salaries s2where s2.salary<(select max(salary) from salaries) 
)

 题解:

结果:

 

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

相关文章:

  • 如视“VR+AI”实力闪耀2024世界人工智能大会
  • 华为云交付模式和技术支持
  • RK3568平台(opencv篇)ubuntu18.04上安装opencv环境
  • R-CNN:深度学习在目标检测中的革命
  • docker容器技术、k8s的原理和常见命令、用k8s部署应用步骤
  • ThinkPHP定时任务是怎样实现的?
  • [C++][CMake][生成可执行文件][上]详细讲解
  • Asp.net Core 反射加载dll
  • 利用coredump获取程序调用通路
  • DVWA sql手注学习(巨详细不含sqlmap)
  • 代码随想录算法训练营第70天图论9[1]
  • 浏览器设计为默认
  • windows USB 设备驱动开发-USB设备描述符
  • 【踩坑】修复报错Cannot find DGL libdgl_sparse_pytorch_2.2.0.so
  • postman中参数和x-www-form-urlencoded传值的区别
  • 自己训练 PaddleOCR
  • 基于SpringBoot的地方废物回收机构管理系统
  • 跑腿平台小程序的设计
  • Java技术栈总结:Redis篇
  • django models对应的mysql类型
  • 2024攻防演练:亚信安全新一代WAF,关键时刻守护先锋
  • 富格林:曝光有效方案安全交易
  • ArtTS系统能力-窗口管理的学习(3.2)
  • C++ 运算符的优先级和关联性表
  • 正则表达式替换字符串的方法
  • 开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(五)
  • 2024/7/4总结
  • 【Android面试八股文】Looper如何在子线程中创建?
  • IT项目管理文档体系
  • ELK企业内部日志分析系统(1)