牛客網資料開發題庫 牛客網資料庫SQL實戰(1)

2021-10-14 06:22:01 字數 1824 閱讀 3208

查詢最晚入職員工的所有資訊(入門)

需要查詢最晚入職員工的資訊,即查詢hire_date最大的資料,使用倒序並取第乙個人即可。

select *

from employees

order by hire_date desc

limit 0, 1;

desc: 使用order by時在後面加上desc表示倒序,即從大到小。

即offset指定從哪一行開始,count往下計數幾行。可以不需要offest,如limit 5就取前五行

2. 查詢入職員工時間排名倒數第三的員工所有資訊(簡單)

這裡使用上面寫的limit即可,確定offset和count即可。

select *

from employees

order by hire_date desc

limit 2, 1; -- 2表示跳過前兩個,現在在第三個,count數1個即第三個

3. 查詢各個部門當前領導當前薪水詳情以及其對應部門編號dept_no(中等)

這裡有兩張表salaries和dept_manager,需要將兩張表連線起來,附加條件為dept_manager.to_date和salaries.to_date。

select s.*, d.dept_no

from salaries as s inner join dept_manager as d

on s.emp_no = d.emp_no

where s.to_date = '9999-01-01' and d.to_date = '9999-01-01';

這裡注意對錶設定乙個別名和on的條件即可。

4. 查詢所有已經分配部門的員工的last_name和first_name(簡單)

這個題就很容易了,以emp_no連線兩表,選出三個資料即可。

select e.last_name, e.first_name, d.dept_no

from employees as e inner join dept_emp as d

on e.emp_no = d.emp_no;

5. 查詢所有員工的last_name和first_name以及對應部門編號dept_no(中等)

這個題和上一題差別就是需要全體員工,說明是有部分員工是沒有具體部門的,所以要儲存員工表的全部資訊,不可以使用inner join來連線了。

select e.last_name, e.first_name, d.dept_no

from employees as e left join dept_emp as d

on d.emp_no = e.emp_no;

使用left join就可以儲存下employees的所有資訊。

牛客網 java題庫(21 30)

literator可用來遍歷set和list集合,但是listlterator只能用來遍歷list。iterator對集合只能是前向遍歷,listiterator既可以前向也可以後向。listiterator實現了iterator介面,幷包含其他的功能,比如 增加元素,替換元素,獲取前乙個和後乙個元...

牛客網 MySQL資料庫練習

找出所有員工當前 to date 9999 01 01 具體的薪水salary情況,對於相同的薪水只顯示一次,並按照逆序顯示 create table salaries emp no int 11 not null,salary int 11 not null,from date date not ...

牛客網 資料庫SQL實戰36 40

36.對於如下表actor,其對應的資料為 actor id first name last name last update 1penelope guiness 2006 02 15 12 34 33 2nick wahlberg 2006 02 15 12 34 33 建立乙個actor nam...