select * from employees
where hire_date =
(select max(hire_date) from employees)
select *from employees
where hire_date=(select max(hire_date) from employees)
select *from employees
where hire_date=(select max(hire_date) from employees)
select * from employees
where hire_date=(select hire_date from employees order by hire_date desc limit 2,1)
select *from employees
where hire_date=(select hire_date from employees order by hire_date desc limit 2,1)
select *from employees
where hire_date=(select hire_date from employees order by hire_date desc limit 2,1)
select s.*,d.dept_no from salaries s,dept_manager d
where s.to_date='9999-01-01'
and d.to_date='9999-01-01'
and s.emp_no=d.emp_no
select s.*,d.dept_no from salaries s,dept_manager d
where s.to_date='9999-01-01'
and d.to_date='999-01-01'
and s.emp_no=d,emp_no
select s.*,d.dept_no from salaries s,dept_manager d
where s.to_date='9999-01-01'
and d.to_date='9999-01-01'
and s.emp_no=d.emp_no
select employees.last_name,employees.first_name,dept_emp.dept_no
from dept_emp inner join employees
where dept_emp.emp_no=employees.emp_no
select employees.last_name,employees.first_name,dept_emp.dept_no
from dept_emp inner join employees
where dept_emp.emp_no=employees.emp_no
select employees.last_name,employees.first_name,dept_emp.dept_no from employees
left join dept_emp on dept_emp.emp_no=employees.emp_no
select employees.last_name,employees.first_name,dept_emp.dept_no from employees
left join dept_emp no dept_emp.emp_no=employees.emp_no
select e.emp_no,s.salary from salaries as s inner join employees as e
on e.emp_no=s.emp_no where e.hire_date=s.from_date
order by e.emp_no desc
select e.emp_no,s.salaries as s inner join employees as e
on e.emp_no=s.emp_no where e.hire_date=s.from_date
order by e.emp_no desc
select e.emp_no,s.salaries as s inner join employees as e
on e.emp_no=s.emp_np where e.hire_date=s.from_date
order by e.emp_no desc
select emp_no,count(emp_no)as t from salaries
group by emp_no having t>15
select emp_no,count(emp_no ) as t from salaries
group by emp_no having t>15
select emp_no,count(emp_no) as t from salaries
group bu emp_no having t>15
select distinct salary from salaries where to_date='9999-01-01'
order by salary desc
select distinct salary from slaries where to_date='9999-01-01'
order by salary desc
select distinct salary from salaries where to_date='9999-01-01'
order by salary desc
select d.dept_no,d.emp_no,s.salary from salaries s inner join dept_manager d
on d.emp_no=s.emp_no where d.to_date='9999-01-01'and s.to_date='9999-01-01'
select d.dept_no,d.emp_no,s.salary from salaries s inner join dept_manager d
on d.emp_no=s.emp_no where d.to_date='9999-01-01' and s.to_date='9999-01-01'
select d.dept_no,d.emp_no,s.salary from salaries s inner join dept_manager d
on d.emp_no=s.emp_no where d.to_date='9999-01-01' and s.to_date='9999-01-01'
select emp_no from (select * from employees
left join dept_manager on employees.emp_no=dept_manager.emp_no)
where dept_no is null
select emp_no from(select * from employees
left join dept_manager on employees.emp_no=dept_manager.emp_no)
where dept_no is null
select de.emp_no,dm.emp_no as manager_no from dept_emp as de
inner join dept_manager as dm
on de.dept_no=dm.dept_no
where de.to_date='9999-01-01'
and dm.to_date='9999-01-01'
and de.emp_no!=dm.emp_no
select de.emp_no,dm.emp_no as manager_no from dept_emp as de
inner join dept_manager as dm
on de.dept_no=dm.dept_no
where de.to_date='9999-01-01'
and dm.to_date='9999-01-01'
and de.emp_no!=dm.emp_no
select de.emp_no,dm.emp_no as manager_no from dept_emp as de
inner join dept_manager as dm
on de.dept_no='9999-01-01'
and dm.to_date='9999-01-01'
and de.emp_no!=dm.emp_no
select d.dept_no,d.emp_no,max(s.salary) as salary
from dept_emp as d inner join salaries as s
on d.emp_no=s.emp_no
where d.to_date='9999-01-01' and s.to_date='9999-01-01'
group by dept_no
select d.dept_no,d.emp_no,max(s.salary) as salary
from dept_emp as d inner join salaries as s
on d.emp_no=s.emp_no
group by dept_no
select title,count(title)as t from titles group by title having t>=2
select title,count(title )as t from titles group by title having t>=2
select title ,count(title)as t from title group by title having t>=2
select title,count(distinct emp_no)as t from titles group by title having t>=2
select title,count(distinct emp_no) as t from titles group by title having t>=2
select * from employees where emp_no%2=1 and last_name!='Mary'
order by hire_date desc
select *from employees where emp_no%2=1 and last_name!='mary'
order by hire_date desc
select *from employees where emp_no%2=1 and last_name !='mary'
order by hire_date desc
SELECT t.title as title, AVG(salary) AS avg
FROM titles AS t
INNER JOIN salaries AS s
ON s.emp_no = t.emp_no AND s.to_date = '9999-01-01' AND t.to_date = '9999-01-01'
GROUP BY t.title
select t.title as title,avg(salary) as avg
from titles as t
inner join salaries as s
on s.emp_no=t.emp_no
and s.to_date='9999-01-01'
and t.to_date='9999-01-01'
group by t.title
select t.title as title, avg(salary) as avg
from titles as t
inner join salaries as s
on s.emp_no=t.emp_no
and s.to_date='9999-01-01'
and t.to_date='9999-01-01'
group by t.title
select emp_no,salary from salaries where to_date='9999-01-01'
and salary=(select salary from salaries order by salary desc limit 1,1)
select emp_no,salary from salaries where to_date='9999-01-01'
and salary=(select salary from salaries order by salary desc limit 1,1)
select e.emp_no,s.salary,e.last_name,e.first_name
from employees as e inner join salaries as s
on e.emp_no=s.emp_no
where s.to_date='9999-01-01'
and salary=(select max(salary)
from salaries where salary < (select max(salary) from salaries))
select e.emp_no,s.salary,e.last_name,e.first_name
from employees as e inner join salaries as s
on e.emp_no=s.emp_no
where s.to_date='9999-01-01'
and salary=(select max(salary)
from salaries where salary<(select max(salary) from salaries))
select e.last_name,e.first_name,dm.dept_name from
(employees as e left join dept_emp as de on e.emp_no=de.emp_no)
left join departments as dm on dm.dept_no=de.dept_no
select e.last_name,e.first_name, dm.dept_name from
(employees as e left join dept_emp as de on e.emp_no=de.emp_no)
left join departments as dm on dm.dept_no=de_dept_no
select e.last_name,e.first_name,dm.dept_name from
(employees as e left join dept_emp as de on e.emp_no=de.emp_no)
left join departments as dm on dm.dept_no=de.dept_no
select (
(select salary from salaries where emp_no=10001 order by to_date desc limit 1)
-(select salary from salaries where emp_no=10001 order by to_date limit 1)
) as growth
select(
(select salary from salaries where emp=10001 order by to_date desc limit 1)-
(select salary from salaries where emp=10001 order by to_date limit 1)
)as growth
select(
(select salary from salaries where emp=10001 order by to_date desc limit 1)-
(select salary from salaries where emp=10001 order by to_date limit 1)
)as growth
select a.emp_no,(b.salary-c.salary)as growth
from employees as a inner join salaries as b
on a.emp_no=b.emp_no and b.to_date='9999-01-01'
inner join salaries as c
on a.emp_no=c.emp_no and a.hire_date=c.from_date
order by growth
select a.emp_no,(b.salary-c.salary)as growth
from employees as a inner join salaries as b
on a.emp_no=b.emp_no and b.to_date='9999-01-01'
inner join salaries as c
on a.emp_no=c.emp_no
and a.hire_date=c.hire_date
order by growth
select de.dept_no,dm.dept_name,count(s.salary)as sum
from(dept_emp as de inner join salaries as s on s.emp_no=de.emp_no)
inner join departments dm on dm.dept_no=de.dept_no
group by de.dept_no
select s1.emp_no,s1.salary,count(distinct s2.salary)as rank
from salaries s1,salaries s2
where s1.to_date='9999-01-01'and s2.to_date='9999-01-01' and s1.salary <= s2.salary
group by s1.emp_no
order by s1.salary desc,s1.emp_no asc
SELECT de.dept_no, s.emp_no, s.salary
FROM (employees AS e INNER JOIN salaries AS s ON s.emp_no = e.emp_no AND s.to_date = '9999-01-01')
INNER JOIN dept_emp AS de ON e.emp_no = de.emp_no
WHERE de.emp_no NOT IN (SELECT emp_no FROM dept_manager)
select de.demp_no,s.emp_no,s.salary
from(employees as e inner join salaries as s on s.emp_no=e.emp_no and
s.to_date='9999-01-01')inner join dept_emp as de on e.emp_no=de.emp_no
where de.emp_no not in (select emp_no from dept_manager)
SELECT sem.emp_no AS emp_no, sdm.emp_no AS manager_no, sem.salary AS emp_salary, sdm.salary AS manager_salary
FROM (SELECT s.salary, s.emp_no, de.dept_no FROM salaries s INNER JOIN dept_emp de
ON s.emp_no = de.emp_no AND s.to_date = '9999-01-01' ) AS sem,
(SELECT s.salary, s.emp_no, dm.dept_no FROM salaries s INNER JOIN dept_manager dm
ON s.emp_no = dm.emp_no AND s.to_date = '9999-01-01' ) AS sdm
WHERE sem.dept_no = sdm.dept_no AND sem.salary > sdm.salary
select sem.emp_no as emp_no,sdm.emp_no as manager_no,sem.salary as emp_salary,
sdm.salary as manager_salary
from(select s.salary,s.emp_no,de.dept_no from salarier s inner join demp_emp de
on s.emp_no=de.emp_no and s.to_date='9999-01-01')as sem,
(select s.salary,s.emp_no,dm.dept_no from salaries s inner join dept_manager dm
on s.emp_no=dm.emp_no and s.to_date='9999-01-01')as sdm
where dem.dept_no=sdm.dept_no and sem.salary>sdm.salary
SELECT s2.emp_no, s2.from_date, (s2.salary - s1.salary) AS salary_growth
FROM salaries AS s1, salaries AS s2
WHERE s1.emp_no = s2.emp_no
AND salary_growth > 5000
AND (strftime("%Y",s2.to_date) - strftime("%Y",s1.to_date) = 1
OR strftime("%Y",s2.from_date) - strftime("%Y",s1.from_date) = 1 )
ORDER BY salary_growth DESC
select s2.emp_no,s2.from_date,(s2.salaty-s1.salary)as salaty_growth
from salaties as s1,salaries as s2
where s1.emp_no=s2.emp_no
and salary_growth>5000
and(strftime('%Y',s2.to_date)-strftime("%Y",s1.to_date)=1
or strftime("%Y",s2.from_date)-strftime("%Y",s1.from_date)=1
order by salary_growth desc
study Python 20day
猜你喜欢
转载自blog.csdn.net/u011624267/article/details/103881314
今日推荐
周排行