SQL練習(xí)題-1

員工表結(jié)構(gòu):

部門表結(jié)構(gòu):

部門員工表結(jié)構(gòu):

部門經(jīng)理表結(jié)構(gòu):

薪資表結(jié)構(gòu):

1.查找最晚入職員工的所有信息

分析:最晚入職即為"hire_date"最大

1)子查詢煌抒,基于max()函數(shù):

select * from employees where hire_date = (select max(hire_date) from employees);

2)基于limit關(guān)鍵字:(個(gè)人認(rèn)為有局限性昙沦,需要考慮數(shù)據(jù)集結(jié)構(gòu),若有多人都是最晚入職則不適用)

select * from employees order by hire_date desc limit 1;

2.查找入職員工時(shí)間排名倒數(shù)第三的員工所有信息

分析:對(duì)入職時(shí)間降序排列 order by楞件,取第三名,可用LIMIT

LIMIT m,n : 表示從第m+1條開(kāi)始裳瘪,取n條數(shù)據(jù)土浸。

select * from employees where hire_date = (select distinct hire_date from employees order by hire_date desc limit 2,1)

其中考慮到每天可能有多個(gè)員工入職,所以用distinct去重彭羹,否則將得不到想要的結(jié)果黄伊。

3.查找各個(gè)部門當(dāng)前(to_date='9999-01-01')領(lǐng)導(dǎo)當(dāng)前薪水詳情以及其對(duì)應(yīng)部門編號(hào)dept_no

分析:考察連接,多表聯(lián)合查詢

1)基于join連接:

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';

2)聯(lián)合查詢

select s.*, d.dept_no from salaries s, dept_manager d where s.emp_no = d.emp_no and s.to_date = '9999-01-01' and d.to_date = '9999-01-01';

4.查找所有已經(jīng)分配部門的員工的last_name和first_name以及dept_no

分析:用到“部門員工表”和“員工表”皆怕,join連接員工表的last_name和first_name

select e.last_name, e.first_name, d.dept_no from dept_emp d inner join employees e on d.emp_no = e.emp_no;

5.查找所有員工的last_name和first_name以及對(duì)應(yīng)部門編號(hào)dept_no毅舆,也包括暫時(shí)沒(méi)有分配具體部門的員工

分析:與題目4不同的是包括沒(méi)有分配部門的員工也就是要沒(méi)有分配部門的員工的dept_no顯示null

select e.last_name, e.first_name, d.dept_no from employees e left join dept_emp d on e.emp_no = d.emp_no;

6.查找所有員工入職時(shí)候的薪水情況愈腾,給出emp_no以及salary憋活, 并按照emp_no進(jìn)行逆序

分析:入職時(shí)候薪水即“員工表”的hire_date和“薪水表”的from_date相等,因?yàn)樾剿碇幸粋€(gè)員工薪水可能有多次漲幅虱黄。降序則使用order by

select e.emp_no, s.salary from employees e, salaries s where e.emp_no = d.emp_no and e.hire_date = d.from_date order by e.emp_no desc;

7.查找薪水漲幅超過(guò)15次的員工號(hào)emp_no以及其對(duì)應(yīng)的漲幅次數(shù)t

分析:用group by對(duì)emp_no分組悦即,count()函數(shù)限制條件,要使用having過(guò)濾條件

select emp_no,count(*) as t from salaries group by emp_no having count(*)>15;

8.找出所有員工當(dāng)前(to_date='9999-01-01')具體的薪水salary情況,對(duì)于相同的薪水只顯示一次,并按照逆序顯示

分析:限制當(dāng)前條件即to_date='9999-01-01'辜梳,對(duì)相同薪水用distinct去重粱甫,order by降序排序

select distinct salary from salaries where to_date='9999-01-01' order by salary desc;

9.獲取所有部門當(dāng)前manager的當(dāng)前薪水情況,給出dept_no, emp_no以及salary作瞄,當(dāng)前表示to_date='9999-01-01'

分析:join連接兩表茶宵,限制條件是emp_no相等,當(dāng)前manager所以限定d.to_date='9999-01-01', 當(dāng)前薪水所以限制s.to_date='9999-01-01'

select d.dept_no, d.emp_no, s.salary from dept_manager d inner join salaries s on d.emp_no=s.emp_no and d.to_date='9999-01-01' and s.to_date='9999-01-01';

10.獲取所有非manager的員工emp_no

分析:找到在“員工表”里的emp_no而不在“部門經(jīng)理表”的emp_no

1)基于not in:

select emp_no from employees where emp_no not in (select distinct emp_no from dept_manager) ;

2)基于left join:

select e.emp_no from employees e left join dept_manager d on e.emp_no=d.emp_no where d.dept_no is null;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宗挥,一起剝皮案震驚了整個(gè)濱河市乌庶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌契耿,老刑警劉巖瞒大,帶你破解...
    沈念sama閱讀 212,294評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異搪桂,居然都是意外死亡透敌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門踢械,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)酗电,“玉大人,你說(shuō)我怎么就攤上這事裸燎」苏埃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,790評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵德绿,是天一觀的道長(zhǎng)荷荤。 經(jīng)常有香客問(wèn)我,道長(zhǎng)移稳,這世上最難降的妖魔是什么蕴纳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,595評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮个粱,結(jié)果婚禮上古毛,老公的妹妹穿的比我還像新娘。我一直安慰自己都许,他們只是感情好稻薇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著胶征,像睡著了一般塞椎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上睛低,一...
    開(kāi)封第一講書(shū)人閱讀 49,906評(píng)論 1 290
  • 那天案狠,我揣著相機(jī)與錄音服傍,去河邊找鬼。 笑死骂铁,一個(gè)胖子當(dāng)著我的面吹牛吹零,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拉庵,決...
    沈念sama閱讀 39,053評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼灿椅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了钞支?” 一聲冷哼從身側(cè)響起阱扬,我...
    開(kāi)封第一講書(shū)人閱讀 37,797評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伸辟,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體馍刮,經(jīng)...
    沈念sama閱讀 44,250評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡信夫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卡啰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片静稻。...
    茶點(diǎn)故事閱讀 38,711評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖匈辱,靈堂內(nèi)的尸體忽然破棺而出振湾,到底是詐尸還是另有隱情,我是刑警寧澤亡脸,帶...
    沈念sama閱讀 34,388評(píng)論 4 332
  • 正文 年R本政府宣布押搪,位于F島的核電站,受9級(jí)特大地震影響浅碾,放射性物質(zhì)發(fā)生泄漏大州。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評(píng)論 3 316
  • 文/蒙蒙 一垂谢、第九天 我趴在偏房一處隱蔽的房頂上張望厦画。 院中可真熱鬧,春花似錦滥朱、人聲如沸根暑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,796評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)排嫌。三九已至,卻和暖如春鹃栽,著一層夾襖步出監(jiān)牢的瞬間躏率,已是汗流浹背躯畴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留薇芝,地道東北人蓬抄。 一個(gè)月前我還...
    沈念sama閱讀 46,461評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像夯到,于是被迫代替她去往敵國(guó)和親嚷缭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評(píng)論 2 350