Re: [SQL] 面試題目求解

看板Database (資料庫)作者 (社會黑暗、行路難)時間3年前 (2020/09/24 10:52), 編輯推噓1(103)
留言4則, 2人參與, 3年前最新討論串2/2 (看更多)
建議解法(各資料庫可能有所差異): 二 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 後面就不知 : 道怎麼寫了 : 第二題紅字部分是不確定的部分,應該是不能直接寫一個資料表沒有的欄位出來 : 第三題最簡單沒什麼問題 : 請各位高手幫我看看指點指點 : -- : ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.216.236 (臺灣) : ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1600784726.A.11B.html : → konkonchou: 建議先去瞭解table join再回頭看題目就會懂了 09/23 02:49 : → konkonchou: https://www.techonthenet.com/oracle/joins.php 09/23 02:50 : 推 mathrew: 兩題你會 join 就都可以解了 09/23 05:18 : join只有一個table 的話也能用嗎? : 那請問排名那題要怎麼讓排名欄位顯示出來呢? : ※ 編輯: kop14922000 (42.73.216.236 臺灣), 09/23/2020 14:08:24 : 推 funk6478: 可以自己JOIN自己 薪資排名用row_number() 或RANK() 09/23 14:31 : 推 paranoia5201: 這些都很基本,晚點寫答案給你。 09/24 00:24 : 自己目前寫出來是這樣 : https://i.imgur.com/9cM2RHs.png
: 第二題說實話還是看不太懂什麼意思QQ : 排名那題用了rank( ) over 應該沒問題了 : 找主管名字那題不確定是不是這樣寫 : 總覺得怪怪的 : ※ 編輯: kop14922000 (42.73.216.236 臺灣), 09/24/2020 04:52:26 : ※ 編輯: kop14922000 (42.73.216.236 臺灣), 09/24/2020 04:53:46 : ※ 編輯: kop14922000 (42.73.216.236 臺灣), 09/24/2020 04:55:05 : 推 funk6478: 第二題是要用課程left join教師left join群組 09/24 10:18 : → funk6478: 並且用case去寫教師名稱和群組名稱為null的情況 09/24 10:20 : → funk6478: 還有你主管名稱那題要把where改成on 09/24 10:23 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 18.194.116.40 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1600915973.A.879.html

09/24 13:23, 3年前 , 1F
謝謝你的回覆,想請問排名那題,所以是可以select
09/24 13:23, 1F

09/24 13:23, 3年前 , 2F
裡面再selecet一次直接做過濾嗎?(直接用過濾好的t
09/24 13:23, 2F

09/24 13:23, 3年前 , 3F
able做排名的意思?
09/24 13:23, 3F

09/24 15:12, 3年前 , 4F
就是。如果不需要排名的欄位,其實order就完成了。
09/24 15:12, 4F
文章代碼(AID): #1VR0e5Xv (Database)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1VR0e5Xv (Database)