大战熟女丰满人妻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官網。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 色综合欧美 | 日本a视频在线观看 | 久久亚洲国产精品五月天 | 久久er国产精品免费观看2 | 九九影院理论片 | 五月婷婷狠狠干 | 女性一级全黄生活片免费看 | 国产免费小视频 | 精品一二区 | 综综综综合网 | 91视频青青草 | 日本三级中文字幕 | 亚洲一区二区三区欧美 | 免费一级特黄 欧美大片 | 在线亚洲观看 | 国产综合成色在线视频 | 深夜激情网 | 婷婷色网站 | 日日夜人人澡人人澡人人看免 | 91视频网址入口 | 成年人网站在线 | 精品国产品香蕉在线观看75 | 久久在线看 | 亚洲区精品 | 91精品国产免费久久久久久 | 久久久精品一区二区三区 | 东京99热 | 国产精品线在线精品国语 | 日韩欧美精品综合一区二区三区 | 一级特黄aaa大片免色 | 午夜香蕉成视频人网站高清版 | 日本毛片在线观看 | 国产中文字幕视频在线观看 | 精品影视 | 抱着cao才爽免费观看 | 久99久爱精品免费观看视频 | 六月丁香深爱六月综合激情 | 91福利国产在线观看一区二区 | 亚洲欧洲精品视频在线观看 | 中文字幕视频在线免费观看 | 亚洲sss综合天堂久久久 |