Re: [SQL] 面試題目求解

作者: paranoia5201 (邁向研究生)   2020-09-24 10:52:51
建議解法(各資料庫可能有所差異):

select
subject_id,
subject_name,
note,
ifnull(teacher_name, '此課程尚無授課人') teacher_name,
group_name
from Subject a
left join Teacher b
on a.teacher_id = b.teacher_id
left join Group c
on b.group_id = c.group_id
三.1
select
a.id,
a.name,
a.title,
a.dpt,
a.sex,
a.slry,
b.name manager_name
from EET001 a, EET001 b
where a.id = b.id
三.2
select
a.*,
row_number () over (order by dpt_slry desc) ranking
from (
select
dpt,
sum(slry) dpt_slry
from EET001
group by dpt
order by dpt_slry desc
) a
三.3
select
name,
title,
slry
from EET001
where slry < 50000
※ 引述《kop14922000 (MrDin)》之銘言:
: 前幾天朋友傳給我看的面試題目
: 想問一下該怎麼解
: https://i.imgur.com/f35ZGU3.jpg
: https://i.imgur.com/l3QTMWX.jpg
: https://i.imgur.com/im298fL.jpg
: 下面是我的解法
: https://i.imgur.com/MUzqupK.jpg
: 第二大題看不懂題目的意思
: 第三大題第一題最後面主管id 不知道要怎麼跟id 連在一起 還要把主管id 改成主管姓名
: 初步想法是
: select ID, name, title, dpt, sex, sort, b_id as主管姓名 from EET001 後面就不知
: 道怎麼寫了
: 第二題紅字部分是不確定的部分,應該是不能直接寫一個資料表沒有的欄位出來
: 第三題最簡單沒什麼問題
: 請各位高手幫我看看指點指點
:
作者: kop14922000 (MrDin)   2020-09-24 13:23:00
謝謝你的回覆,想請問排名那題,所以是可以select裡面再selecet一次直接做過濾嗎?(直接用過濾好的table做排名的意思?
作者: paranoia5201 (邁向研究生)   2020-09-24 15:12:00
就是。如果不需要排名的欄位,其實order就完成了。

Links booklink

Contact Us: admin [ a t ] ucptt.com