黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

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

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

無論是在數據分析師面試還是數據挖掘等的多數大數據崗位的面試、工作過程中,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官網。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一二三四在线视频社区1 | 日韩欧美在线免费观看 | 日韩精品在线第一页 | 丝袜第一页| 国产在线精品二区李沁 | 黄色网在线 | 波多野结衣一区二区三区高清在线 | 免费观看性欧美一级 | 在线播放一区二区三区 | 亚洲免费在线视频播放 | 色综合 成人 | 亚洲黄网在线播放高清 | 欧美色片在线观看 | 鸥美一级黄色片 | 黄色免费观看网站 | 免费鲁丝片一级在线观看 | 国产凹凸一区在线观看视频 | 日韩午夜高清福利片在线观看 | 亚洲图片在线视频 | 欧美在线观看不卡 | 亚洲大尺度| 精品 日韩 国产 欧美在线观看 | 国产一级又色又爽又黄大片 | 午夜影院福利社 | 特黄特级毛片免费视 | 日本欧美在线视频 | 看特级毛片 | 99国产在线视频 | 日本高清中文字幕在线观穿线视频 | 91午夜精品亚洲一区二区三区 | 久草视频免费 | 国产一区二区在线视频观看 | 天海翼一区二区三区四区 | 欧美成人久久一级c片免费 欧美成人看片 | 国产福利在线观看 | 亚洲欧美在线精品一区二区 | 成人在色线视频在线观看免费大全 | 欧美黄色高清视频 | 亚洲大胆美女人体一二三区 | 亚洲成人免费网址 | 国产最猛性xxxxxx69交 |