数据库操作练习1
来源:互联网 发布:网络推手阿建推网红 编辑:程序博客网 时间:2024/04/30 09:31
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`));
输入描述:
无
输出描述:
emp_no birth_date first_name last_name gender hire_date 100081958-02-19SaniyaKalloufiM1994-09-15
select * from employees order by hire_date desc limit 1;
LIMIT m,n : 表示从第m+1条开始,取n条数据;
LIMIT n : 表示从第0条开始,取n条数据,是limit(0,n)的缩写。
本题limit 0,1 表示从第(0+1)条数据开始,取一条数据,即取出最晚入职员工。
Sql2:
select * from employees where hire_date=(select max(hire_date)from employees);
上述查询为子查询,先找出 hire_date 字段的最大值,再把该值当成 employees 表的 hire_date 查询条件。 从employees中选出最大的值
2.查找入职员工时间排名倒数第三的员工所有信息
题目描述
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`));
输入描述:
无
输出描述:
emp_no birth_date first_name last_name gender hire_date 100051955-01-21KyoichiMaliniakM1989-09-12
Sql1:
select * from employees order by hire_date desc limit 2,1;
Sql2:
网友说可能有多个,而且要去重于是:
select * from employees where hire_date=(select distinct hire_date from employees order by hire_date desc limit 2,1);
Sql3:
先取倒数第三个,然后排序(升序)取第一个
select * from (select * from employees order by hire_date desc limit 3) order
by hire_date asc limit 1;
3. 查找各个部门当前领导当前薪水详情以及其对应部门编号dept_no
题目描述
CREATE TABLE `dept_manager` (
`dept_no` char(4) NOT NULL,
`emp_no` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
输入描述:
无
输出描述:
emp_no salary from_date to_date dept_no 10002725272001-08-029999-01-01d00110004740572001-11-279999-01-01d00410005946922001-09-099999-01-01d00310006433112001-08-029999-01-01d00210010944092001-11-239999-01-01d006
select salaries.emp_no, salaries.salary, salaries.from_date, salaries.to_date, dept_manager.dept_nofrom salaries inner join dept_manager on dept_manager.emp_no=salaries.emp_no where salaries.to_date='9999-01-01'and dept_manager.to_date='9999-01-01'
- 数据库操作练习1
- Orcale数据库操作练习
- JavaDB数据库操作练习
- 数据库操作练习2
- 数据库操作练习3
- 数据库操作练习4
- 数据库操作练习5
- 数据库操作练习6
- 数据库操作练习7
- 数据库操作练习8
- 数据库操作练习9
- 数据库操作练习10
- 数据库操作练习11
- 数据库操作练习12
- 数据库操作练习13
- Android简单数据库操作练习
- MySql数据库基本操作练习
- python操作mysql数据库练习
- python -day02
- Android 中使用WebView
- QPSK Transmitter and Receiver
- 无序数组的最长递增子序列
- Android开发调试神器——Stetho介绍
- 数据库操作练习1
- 储存管理器的一些总结(注:这是观看某老师教学视频之后的一些总结)
- 日记8/19
- SoundPool的简单认识
- 基于面向连接的socket编程
- Mysql 更新时间结果所有的时间都更新
- Java 实现长图文生成
- VC读写剪贴板
- 子序列的和(subsequence)