题目来源 牛客网
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
));
SELECT * FROM employees
ORDER BY hire_date DESC
LIMIT 1;
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
));
SELECT * FROM employees
ORDER BY hire_date DESC
LIMIT 2, 1;
limit用法
SELECT * FROM tablename LIMIT 0,1
即取出第一条记录。
SELECT * FROM tablename LIMIT 1,1
第二条记录
SELECT * FROM tablename LIMIT 10,20
从第11条到31条(共计20条)
3.查找各个部门当前领导当前薪水详情以及其对应部门编号
题目描述
查找各个部门当前(to_date=’9999-01-01’)领导当前薪水详情以及其对应部门编号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
));
SELECT salaries.*, dept_manager.dept_no
FROM salaries INNER JOIN dept_manager
ON dept_manager.emp_no = salaries.emp_no
WHERE dept_manager.to_date = '9999-01-01'
AND salaries.to_date ='9999-01-01';
4.查找所有已经分配部门的员工的last_name和first_name
题目描述
查找所有已经分配部门的员工的last_name和first_name
CREATE TABLE dept_emp
(
emp_no
int(11) NOT NULL,
dept_no
char(4) NOT NULL,
from_date
date NOT NULL,
to_date
date NOT NULL,
PRIMARY KEY (emp_no
,dept_no
));
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
));
SELECT employees.last_name,employees.first_name, dept_emp.dept_no
FROM employees INNER JOIN dept_emp
ON employees.emp_no = dept_emp.emp_no;
5.查找所有员工入职时候的薪水情况
题目描述
查找所有员工入职时候的薪水情况,给出emp_no以及salary, 并按照emp_no进行逆序
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
));