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
where hire_date = (select max(hire_date) from employees)
2、查詢入職員工時間排名倒數第三的員工所有資訊
**:
select * from employees
where hire_date =
(select distinct hire_date from employees
order by hire_date desc limit 2,1)
3、查詢當前薪水詳情以及部門編號dept_no
題目描述:
查詢各個部門當前(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.emp_no, salaries.salary, salaries.from_date, salaries.to_date,dept_manager.dept_no from
salaries join dept_manager on
salaries.emp_no = dept_manager.emp_no
where salaries.to_date = '9999-01-01' and dept_manager.to_date = '9999-01-01'
4、查詢所有已經分配部門的員工的last_name和first_name以及dept_no
題目描述
查詢所有已經分配部門的員工的last_name和first_name以及dept_no
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, dept_emp
where employees.emp_no = dept_emp.emp_no
5、查詢所有員工的last_name和first_name以及對應部門編號dept_no,也包括展示沒有分配具體部門的員工
create tabledept_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 tableemployees
(
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 left join dept_emp
on employees.emp_no = dept_emp.emp_no
資料庫刷題
考慮到可能不是每個人都有位址資訊,我們應該使用outer join而不是預設的inner join。注意 如果沒有某個人的位址資訊,使用 where 子句過濾記錄將失敗,因為它不會顯示姓名資訊。2.編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水 salary select max ...
LeetCode刷題 資料庫
目錄 175.組合兩個表 176.第二高的薪水 表1 person 列名 型別 personid int firstname varchar lastname varchar personid 是上表主鍵表2 address 列名 型別 addressid int personid int city...
資料庫刷題2
1 至少連續出現三次的數字 select distinct l1.num as consecutivenums from logs l1,logs l2,logs l3 where l1.id 1 l2.id and l2.id 1 l3.id and l1.num l2.num and l2.nu...