每日两SQL(6),欢迎交流~
生活随笔
收集整理的這篇文章主要介紹了
每日两SQL(6),欢迎交流~
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述
獲取所有員工當(dāng)前的manager,如果當(dāng)前的manager是自己的話結(jié)果不顯示,當(dāng)前表示to_date='9999-01-01'。
結(jié)果第一列給出當(dāng)前員工的emp_no,第二列給出其manager對應(yīng)的manager_no。
創(chuàng)表
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 `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`));表數(shù)據(jù)展示
解答
SELECTde.emp_no,dm.emp_no AS manager_no FROMdept_emp de LEFT JOIN dept_manager dm ON de.dept_no = dm.dept_no WHEREde.to_date = '9999-01-01' AND dm.to_date = '9999-01-01' AND de.emp_no <> dm.emp_no;結(jié)果展示
題目描述
獲取所有部門中當(dāng)前員工薪水最高的相關(guān)信息,給出dept_no, emp_no以及其對應(yīng)的salary
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 `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`));表數(shù)據(jù)展示
解答
select d.dept_no,d.emp_no,max(salary) as salary from dept_emp d left join salaries s on d.emp_no = s.emp_no where s.to_date = '9999-01-01' and d.to_date = s.to_date group by d.dept_no結(jié)果展示
總結(jié)
以上是生活随笔為你收集整理的每日两SQL(6),欢迎交流~的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HQL语句使用row_number()
- 下一篇: 数据湖,大数据的下一个变革!