study Python 16day(MySQL)

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 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 employees
left join dept_emp on 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 emp_no,COUNT(emp_no) AS t from salaries GROUP BY emp_no HAVING t>15

select salary from salaries where to_date='9999-01-01' GROUP BY salary order by salary desc

select d.dept_no,d.emp_no,s.salary from dept_manager as d inner join salaries as s on 
d.emp_no=s.emp_no and d.to_date='9999-01-01' and s.to_date='9999-01-01'

select emp_no from employees where emp_no not in(select emp_no from dept_manager)

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 dm.to_date='9999-01-01'and de.to_date='9999-01-01'and de.emp_no<>dm.emp_no

select d.dept_no,s.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 d.dept_no

select title, count(title)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 last_name<>'Mary' and emp_no%2=1
order by hire_date desc

select t.title,avg(s.salary)as avg from titles as t inner join salaries as s
on t.emp_no=s.emp_no
where t.to_date='9999-01-01'and s.to_date='9999-01-01'
group by t.title

select emp_no,salary from salaries
where to_date='9999-01-01'
order by salary desc limit 1,1

select e.emp_no,max(s.salary) as 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 
s.salary not in(select max(salary) from salaries where to_date='9999-01-01')

select e.last_name,e.first_name,d.dept_name from
(employees as e left join dept_emp as de on e.emp_no=de.emp_no)
left join departments as d on de.dept_no=d.dept_no

select (max(salary)-min(salary))as growth from salaries where emp_no='10001'

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
发布了65 篇原创文章 · 获赞 0 · 访问量 564

猜你喜欢

转载自blog.csdn.net/u011624267/article/details/103823084