SQL基础练习

1 查找最晚入职员工的信息

题目描述
查找最晚入职员工的所有信息
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`));
输入描述:

输出描述:

示例1
输入

输出

 1 CREATE     DATABASE mybase;
 2 CREATE TABLE employees (
 3 emp_no INT(11) NOT NULL,
 4 birth_date DATE NOT NULL,
 5 first_name VARCHAR(14) NOT NULL,
 6 last_name VARCHAR(16) NOT NULL,
 7 gender CHAR(1) NOT NULL,
 8 hire_date DATE NOT NULL,
 9 PRIMARY KEY (emp_no));
10 
11 #这个是行注释,对于data类型的数据格式是yyyy-m-d的形式,年月日都不能少否则会显示出错
12 INSERT INTO employees(emp_no,birth_date,first_name,last_name,gender,hire_date)VALUES
13 (12,'1992-3-12','a','ab','m','1980-2-3'),#表的顺序会严格按照emp_no的大小排序
14 (10,'1992-3-23','a','aa','m','1985-12-8'),
15 (15,'1992-2-12-1','a','ad','m','1995-3-8') 
16 
17 #好多时候懒得修改了直接删除表然后重建就行了
18 DROP TABLE employees
19 
20 #查询语句
21 SELECT * FROM employees ORDER BY hire_date DESC LIMIT 1;
22 #这个语句有问题在于只找到了一条记录,有可能当天会有好多人入职
23 
24 #从表的日期中挑选出最大的就可以避免上述问题了
25 SELECT * FROM employees WHERE 
26 hire_date=(SELECT MAX(hire_date) FROM employees)

猜你喜欢

转载自www.cnblogs.com/youngao/p/9785584.html