大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 職業指南 專業搬運工:sql數據常見面試題

專業搬運工:sql數據常見面試題

更新時間:2022-12-27 15:39:43 來源:動力節點 瀏覽1177次

無論是在數據分析師面試還是數據挖掘等的多數大數據崗位的面試、工作過程中,SQL都是比較重要的一部分,今天小編針對一些高頻出現的面試題,整理出了這些,供大家參考:

sql常見面試題

SQL1:查找最晚入職員工的信息

  • 試題內容:查找最晚入職員工的所有信息,為了減輕入門難度,目前所有的數據里員工入職的日期都不是同一天(sqlite里面的注釋為–,mysql為comment)

CREATE TABLE employees (

emp_no int(11) NOT NULL, – ‘員工編號’

birth_date date NOT NULL,

first_name varchar(14) NOT NULL,

last_name varchar(16) NOT NULL,

gender char(1) NOT NULL,

hire_date date NOT NULL,

PRIMARY KEY (emp_no));

分析:題目難度:簡單

主要考察where條件查詢,需要注意的case是最晚入職的員工對應的最大的hire_date,同時也考慮使用order+limit實現最晚員工的找尋。

知識點;ORDER BY field1 [ASC [DESC][默認 ASC]], [field2…] [ASC [DESC][默認 ASC]] (desc降序排列,asc是升序排列) SELECT * FROM table LIMIT a,b;從a+1行開始a+b行結束。

SQL實現:

思路1
SELECT * FROM employees order by hire_date desc limit 0,1


思路2
SELECT * 
FROM employees 
WHERE hire_date =
(
    SELECT MAX(hire_date)
    FROM employees
)

SQL2:查找入職員工時間排名倒數第三的員工所有信息

  • 例題:查找入職員工時間排名倒數第三的員工所有信息,為了減輕入門難度,目前所有的數據里員工入職的日期都不是同一天

CREATE TABLE employees (

emp_no int(11) NOT NULL,

birth_date date NOT NULL,

first_name varchar(14) NOT NULL,

last_name varchar(16) NOT NULL,

gender char(1) NOT NULL,

hire_date date NOT NULL,

PRIMARY KEY (emp_no));

思路:找到入職時間倒數第三可以使用排序order by倒數第三是倒序第3個,可以用limit或者offset

SQL實現

# 思路1
select *
from employees
order by hire_date desc 
limit 2,1

#知識點limit的用法
# 思路2
SELECT * FROM employees
ORDER BY hire_date DESC
LIMIT 1 offset 2;

SQL3:查找各個部門當前領導當前薪水詳情

例題:查找各個部門當前(dept_manager.to_date=‘9999-01-01’)領導當前(salaries.to_date=‘9999-01-01’)薪水詳情以及其對應部門編號dept_no

(注:輸出結果以salaries.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));

CREATE TABLE dept_manager (

dept_no char(4) NOT NULL, – ‘部門編號’

emp_no int(11) NOT NULL, – ‘員工編號’

to_date date NOT NULL,

PRIMARY KEY (emp_no,dept_no));

多表連接加排序問題,筆者在這里遺漏了時間條件發生報錯 思路:where條件實先兩表連接限制條件+order by實現排序

SQL實現

select salaries.emp_no, salaries.salary, salaries.from_date, salaries.to_date, dept_manager.dept_no
from dept_manager, salaries
where dept_manager.emp_no=salaries.emp_no
and dept_manager.to_date='9999-01-01'
and salaries.to_date='9999-01-01'
order by salaries.emp_no;

SQL4:查找所有已經分配部門的員工的last_name和first_name

題目:查找所有已經分配部門的員工的last_name和first_name以及dept_no(請注意輸出描述里各個列的前后順序)

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 employees (

emp_no int(11) NOT NULL,

birth_date date NOT NULL,

first_name varchar(14) NOT NULL,

last_name varchar(16) NOT NULL,

gender char(1) NOT NULL,

hire_date date NOT NULL,

PRIMARY KEY (emp_no));

兩表查詢取交集問題,已分配部分的員工的邏輯是兩表關于emp_no

select employees.last_name,employees.first_name,dept_emp.dept_no
from employees inner join dept_emp
where employees.emp_no=dept_emp.emp_no;

多表查詢問題用下圖可以幫助比較好的理解記憶:

sql常見面試題

以上就是“專業搬運工:sql數據常見面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产一区二区三区亚洲综合 | 久久国产高清字幕中文 | 亚洲精品视频二区 | 欧美破处在线 | 黄色aaa级片 | 亚洲国产精品视频 | 99精品久久久久久久 | 91亚洲国产三上悠亚在线播放 | 激情福利网 | www.奇米第四色 | 国产成人影院一区二区 | 成人a视频 | 欧美特级黄色大片 | 日韩精品综合 | 日本一级特黄a大片在线 | 四虎影院欧美 | 99久久综合国产精品免费 | 伊人天伊人天天网综合视频 | 无遮挡一级毛片性视频不卡 | 欧美一级毛片免费看高清 | 伊人网2021| 久久2019| 婷婷中文字幕 | 国产福利一区二区三区在线视频 | 91热国内精品永久免费观看 | 亚欧精品一区二区三区四区 | 日本一区二区在线视频 | 中文字幕91 | 亚洲乱码中文字幕 | 久久99精品九九九久久婷婷 | 成年性午夜免费视频网站不卡 | 免费性网站| 一级黄色录像免费看 | 欧美一级xxxxⅹ毛片 | 国产成人免费高清在线观看 | 狠狠的日视频 | 久久精品爱国产免费久久 | 色中涩| 波多野结衣日韩 | 免费福利影院 | 在线久草视频 |