資料庫SQL實戰15:查詢employees表
思想:
題目要求查詢employees表所有emp_no為奇數,且last_name不為Mary的員工資訊,並按照hire_date逆序排列。首先通過條件(emp_no%2)=1找出所有奇數的emp_no,其次通過條件last_name!='Mary'找出last_name不為Mary的員工,最後通過條件order by hire_date desc實現按照hire_date逆序排序。
select * from employees where (emp_no%2)=1 and last_name!='Mary' order by hire_date desc;
相關推薦
資料庫SQL實戰15:查詢employees表
思想: 題目要求查詢employees表所有emp_no為奇數,且last_name不為Mary的員工資訊,並按照hire_date逆序排列。首先通過條件(emp_no%2)=1找出所有奇數的emp_no,其次通過條件last_name!='Mary'找出last_name不為Mary的員工,最
資料庫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實戰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實踐32:將employees表的所有員工的last_name和first_name拼接起來作為Name
思路: SQLite字串的連線需要用||。 Mysql字串連線可以用concat或者concat_ws select last_name||" "||first_name as Name from employees; CONCAT(str1,str2,…) &
資料庫SQL實踐61:對於employees表中,給出奇數行的first_name
思路: 將小於等於e1.first_name的first_name的個數統計下,然後求餘2看是否等於1,若是則取出。 select e1.first_name from employees e1 where(select count(*) from employees e2 where e1
資料庫SQL實踐7:查詢薪水漲幅超過15次的員工號emp_no以及其對應的漲幅次數t
思想: 題目要求查詢薪水漲幅超過15次的員工號emp_no以及其對應的漲幅次數t。首先通過group by函式對emp_no進行分組,將同一個emp_no的記錄分為一組並通過count(*)計算這個emp_no組中一共有幾條記錄,最後通過having函式找出記錄數大於15的。 知識點:
資料庫SQL實戰 --15.獲取當前薪水第二多的員工的emp_no以及其對應的薪水salary
題目描述 獲取當前(to_date='9999-01-01')薪水第二多的員工的emp_no以及其對應的薪水salary CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NOT NULL, `fr
資料庫SQL實踐6:查詢所有員工入職時候的薪水情況
思想: 題目查詢所有員工入職時候的薪水情況,給出emp_no以及salary, 並按照emp_no進行逆序。首先根據所有員工入職時候的薪水要求通過條件e.hire_date = s.from_date來找到剛入職時候的薪水,然後根據按照emp_no進行逆序要求通過order by e.emp_n
資料庫SQL實踐2:查詢入職員工時間排名倒數第三的員工所有資訊
思想: 題目要求查詢入職員工時間排名倒數第三的員工所有資訊。首先通過一個子查詢(select distinct hire_date from employees order by hire_date desc limit 2,1)查找出入職員工時間排名倒數第三的入職時間hire_dat
資料庫SQL實踐13:從titles表獲取按照title進行分組
思想: 題目要求從titles表獲取按照title進行分組,每組個數大於等於2,給出title以及對應的數目t。首先通過條件group by title實現按照title分組,其次通過條件having t>=2實現每組個數大於等於2(其中t是count(*)即每組的個數)。 selec
資料庫SQL實踐21:查詢所有員工自入職以來的薪水漲幅情況
思想: 題目要求查詢所有員工自入職以來的薪水漲幅情況,給出員工編號emp_no以及其對應的薪水漲幅growth,並按照growth進行升序。 首先通過條件employees as e inner join salaries as new on e.emp_no = new.emp_
資料庫SQL實踐20:查詢員工編號emp_no為10001其自入職以來的薪水salary漲幅值growth
題目要求查詢員工編號emp_no為10001其自入職以來的薪水salary漲幅值growth。 首先通過子查詢select salary from salaries where emp_no = 10001 order by to_date desc limit 0,1將當前的薪水找出來。
資料庫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實踐14:從titles表獲取按照title進行分組,注意對於重複的emp_no進行忽略
思想: 題目要求從titles表獲取按照title進行分組,每組個數大於等於2,給出title以及對應的數目t。注意對於重複的emp_no進行忽略。首先通過條件group by title實現按照title進行分組,其次通過條件count(distinct emp_no)實現對重複的emp_no
資料庫SQL實踐28:查詢描述資訊中包括robot的電影對應的分類名稱以及電影數目,而且還需要該分類對應電影數量>=5部
思想: 題目要求查詢描述資訊中包括robot的電影對應的分類名稱以及電影數目,而且還需要該分類對應電影數量>=5部。 首先通過條件(select category_id from film_category group by film_category.category_id havi
資料庫SQL實踐38:針對actor表建立檢視actor_name_view
思路: 1.直接在檢視名的後面用小括號建立檢視中的欄位名 create view actor_name_view (first_name_v, last_name_v) as select first_name, last_name from actor; 2.注意 create&nbs
資料庫SQL實戰12:獲取所有部門中當前員工薪水最高的相關資訊
思想: 題目要求獲取所有部門中當前員工薪水最高的相關資訊,給出dept_no, emp_no以及其對應的salary。首先通過條件d.to_date = '9999-01-01'找出所有部門當前員工,然後通過條件s.to_date = '9999-01-01'找出各員工當前
資料庫SQL實戰 --13.查詢employees表所有emp_no為奇數
題目描述 查詢employees表所有emp_no為奇數,且last_name不為Mary的員工資訊,並按照hire_date逆序排列 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NO