SQL練習1:查找最晚入職員工的所有資訊
題目鏈接:牛客網
題目描述
查找最晚入職員工的所有資訊,為了減輕入門難度,目前所有的資料里員工入職的日期都不是同一天(sqlite里面的注釋為–,mysql為comment)
表結構如下:
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL, -- '員工編號'
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
解法一
如果只是按照題目的要求來做的話,因為資料里員工入職的日期都不是同一天,那么只需要對hire_date列進行降序排列,取第一行資料即可,
SELECT * FROM employees
ORDER BY hire_date DESC LIMIT 1;
解法二
上面的解法只能應用在日期都不是同一天的情況下,如果最晚入職的有很多人,那么資料必然不準確,因此,我們可以根據子查詢來篩選hire_date等于最晚日期的那些資料,
SELECT * FROM employees
WHERE hire_date = (SELECT MAX(hire_date) FROM employees);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/253163.html
標籤:其他
上一篇:mysql樂觀鎖和悲觀鎖詳解
