資料庫SQL實戰12:獲取所有部門中當前員工薪水最高的相關資訊
思想:
題目要求獲取所有部門中當前員工薪水最高的相關資訊,給出dept_no, emp_no以及其對應的salary。首先通過條件d.to_date = '9999-01-01'找出所有部門當前員工,然後通過條件s.to_date = '9999-01-01'找出各員工當前薪水,接著通過條件d.emp_no = s.emp_no一一對應,最後按照部門號進行分組,並找出其中salary最大的那個。
select d.dept_no,d.emp_no,max(s.salary) salary from dept_emp d,salaries s where d.to_date = '9999-01-01'and s.to_date = '9999-01-01'and d.emp_no = s.emp_no group by d.dept_no;
group by之後的結果:
max(s.salary)的結果
最終d004部門雖然選出了最高工資但員工卻不是10004,顯示的是10003。工資和員工號錯位了。。。。
最終系統通過了,有點鬱悶不解
相關推薦
資料庫SQL實戰12:獲取所有部門中當前員工薪水最高的相關資訊
思想: 題目要求獲取所有部門中當前員工薪水最高的相關資訊,給出dept_no, emp_no以及其對應的salary。首先通過條件d.to_date = '9999-01-01'找出所有部門當前員工,然後通過條件s.to_date = '9999-01-01'找出各員工當前
資料庫SQL實戰 --10.獲取所有部門中當前員工薪水最高的相關資訊
題目描述 獲取所有部門中當前員工薪水最高的相關資訊,給出dept_no, emp_no以及其對應的salary CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) NOT
資料庫SQL實踐9:獲取所有部門當前manager的當前薪水情況
思想: 題目要求獲取所有部門當前manager的當前薪水情況,給出dept_no, emp_no以及salary,當前表示to_date='9999-01-01'。首先通過條件d.to_date = '9999-01-01'來找出部門當前manager,然後通過條件s.to_date = '99
資料庫SQL實踐10:獲取所有非manager的員工emp_no
思想: 題目要求獲取所有非manager的員工emp_no。首先通過子查詢找到部門經理的emp_no,然後通過條件where emp_no not in找出非manager的emp_no。 select emp_no from employees where emp_no not in (s
資料庫SQL實戰5:查詢所有員工的last_name和first_name以及對應部門編號dept_no,也包括展示沒有分配具體部門的員工
思想: 題目要求查詢所有員工的last_name和first_name以及對應部門編號dept_no,也包括展示沒有分配具體部門的員工。若有的員工沒有分配部門編號,即其部門編號為空。首先通過left join左連線實現兩個表的連線,這兩個表連線的條件是員工編號相等(e.emp_no = d.em
資料庫SQL實戰4:查詢所有已經分配部門的員工的last_name和first_name
思想: 題目要求查詢所有已經分配部門的員工的last_name和first_name。由於部門號和員工資訊在兩個表中,但兩張表中都有員工編號資訊。所以可以根據員工的編號(where e.emp_no = d.emp_no)來確定該員工分配的部門和員工的last_name和first_name。
資料庫SQL實踐11:獲取所有員工當前的manager
思想: 題目要求獲取所有員工當前的manager,如果當前的manager是自己的話結果不顯示,當前表示to_date='9999-01-01'。 結果第一列給出當前員工的emp_no,第二列給出其manager對應的manager_no。首先通過條件e.dept_no = m.dept_no找
資料庫SQL實戰3:查詢各個部門當前領導當前薪水詳情以及其對應部門編號dept_no
思想: 題目要求查詢各個部門當前領導當前薪水詳情以及其對應部門編號dept_no。首先根據當前領導通過條件d.to_date = '9999-01-01'進行篩選,然後當前薪水通過條件s.to_date = '9999-01-01'進行再次篩選,最後根據領導的編號通過條件d.emp_no = s
資料庫SQL實戰1:查詢最晚入職員工的所有資訊
思想: 題目要求查詢最晚入職員工的所有資訊,通過一個子查詢(select max(hire_date) from employees)查找出入職最晚員工的入職的時間hire_date,然後通過where hire_date = (select max(hire_date) from e
資料庫SQL實踐24:獲取所有非manager員工當前的薪水情況
思想: 題目要求獲取所有非manager員工當前的薪水情況,給出dept_no、emp_no以及salary ,當前表示to_date='9999-01-01'。 首先通過條件d.to_date = '9999-01-01'將員工所在當前部門找出。 其次通過條件s.to_date = '
資料庫SQL實戰 --12.從titles表獲取按照title進行分組,注意對於重複的emp_no進行忽略
題目描述 從titles表獲取按照title進行分組,每組個數大於等於2,給出title以及對應的數目t。 注意對於重複的emp_no進行忽略。 CREATE TABLE IF NOT EXISTS "titles" ( `emp_no` int(11) NOT NULL, `tit
資料庫SQL實踐6:查詢所有員工入職時候的薪水情況
思想: 題目查詢所有員工入職時候的薪水情況,給出emp_no以及salary, 並按照emp_no進行逆序。首先根據所有員工入職時候的薪水要求通過條件e.hire_date = s.from_date來找到剛入職時候的薪水,然後根據按照emp_no進行逆序要求通過order by e.emp_n
資料庫SQL實踐23: 對所有員工的薪水按照salary進行按照1-N的排名
思想: 題目要求對所有員工的當前(to_date='9999-01-01')薪水按照salary進行按照1-N的排名,相同salary並列且按照emp_no升序排列。 首先通過條件where s1.to_date='9999-01-01' and s2.to_date='9999-01-01
資料庫SQL實踐22:統計各個部門對應員工漲幅的次數總和
思想: 題目要求統計各個部門對應員工漲幅的次數總和,給出部門編碼dept_no、部門名稱dept_name以及次數sum。 首先通過條件departments as d inner join dept_emp as e on d.dept_no = e.dept_no將depart
資料庫SQL實踐21:查詢所有員工自入職以來的薪水漲幅情況
思想: 題目要求查詢所有員工自入職以來的薪水漲幅情況,給出員工編號emp_no以及其對應的薪水漲幅growth,並按照growth進行升序。 首先通過條件employees as e inner join salaries as new on e.emp_no = new.emp_
資料庫SQL實踐19:查詢所有員工的last_name和first_name以及對應的dept_name
思想: 題目要求查詢所有員工的last_name和first_name以及對應的dept_name,也包括暫時沒有分配部門的員工。 首先通過條件employees e left join dept_emp on e.emp_no = dept_emp.emp_no實現employees和de
資料庫SQL實踐18:獲取當前薪水第二多的員工的emp_no以及其對應的薪水salary,不準使用order by
思想: 題目要求查詢當前薪水(to_date='9999-01-01')排名第二多的員工編號emp_no、薪水salary、last_name以及first_name,不準使用order by。首先通過條件e.emp_no=s.emp_no將兩表內連線相連,然後通過條件to_date='9999
資料庫SQL實踐17:獲取當前薪水第二多的員工的emp_no以及其對應的薪水salary
思想: 題目要求獲取當前(to_date='9999-01-01')薪水第二多的員工的emp_no以及其對應的薪水salary。首先通過條件to_date = '9999-01-01'獲取當前薪水,其次通過條件order by salary desc limit 1,1找到薪水第二多的員工(前提
資料庫SQL實戰15:查詢employees表
思想: 題目要求查詢employees表所有emp_no為奇數,且last_name不為Mary的員工資訊,並按照hire_date逆序排列。首先通過條件(emp_no%2)=1找出所有奇數的emp_no,其次通過條件last_name!='Mary'找出last_name不為Mary的員工,最
資料庫SQL實踐25:獲取員工其當前的薪水比其manager當前薪水還高的相關資訊
思想: 題目要求獲取員工其當前的薪水比其manager當前薪水還高的相關資訊,當前表示to_date='9999-01-01', 結果第一列給出員工的emp_no, 第二列給出其manager的manager_no, 第三列給出該員工當前的薪水emp_salary, 第四列給該員工對應的mana