(入门)SQL练习1:查找最晚入职员工的所有信息

SQL练习1:查找最晚入职员工的所有信息

题目描述

有一个员工 employees 表简况如下:

请你查找 employees 里最晚入职员工的所有信息,以上例子输出如下:
在这里插入图片描述


考察知识点

ORDER BYLIMIT,子查询。


LIMIT用法

首先我们要知道LIMIT 共两种常见用法:

SELECT * FROM table  LIMIT [offset], rows    -- LIMIT 单独使用
SELECT * FROM table  LIMIT rows OFFSET [offset]    -- 配合 OFFSET 使用    

offset:行开始的行的索引。0表示从第1行 开始显示(包括第1行),以此类推。

rows:数据显示的条数。

举几个栗子:

SELECT * FROM table1 LIMIT 5;    //检索前5条数据(1-5)
--相当于
SELECT * from table1 LIMIT 0,5;    // 从第0行开始检索5条数据
--相当于
SELECT * FROM table1 LIMIT 5 OFFSET 0;    //从第0行开始检索5条数据,注意这里的LIMIT的5指代的是数量

解题思路

1️⃣ 如果只是按照题目的要求来做的话,因为数据里员工入职的日期都不是同一天,那么只需要对hire_date列进行降序排列,取第一行数据即可。

SELECT * 
FROM employees
ORDER BY hire_date DESC 
LIMIT 1;

2️⃣ 上面的解法只能应用在日期都不是同一天的情况下,如果最晚入职的有很多人,那么数据必然不准确,因此,我们可以根据子查询来筛选hire_date等于最晚日期的那些数据。

SELECT * 
FROM employees 
WHERE hire_date = (SELECT MAX(hire_date)
                  FROM employees)

题目来源:牛客网-SQL数据库实战题

每日打卡,❤ 点个赞再走吧!!!❤

在这里插入图片描述
后续会继续分享 Mysql 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream丶Killer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值