您当前的位置: 首页 >  sql

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

发布时间:2021-01-26 18:15:40 ,浏览量:5

SQL练习1:查找最晚入职员工的所有信息
      • 题目描述
      • 考察知识点
        • LIMIT用法
      • 解题思路
题目描述

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

考察知识点

ORDER BY,LIMIT,子查询。

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 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。

关注
打赏
1688896170
查看更多评论

暂无认证

  • 5浏览

    0关注

    115984博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0551s