SQL基础练习
Posted youngao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
以上是关于SQL基础练习的主要内容,如果未能解决你的问题,请参考以下文章