作者ho83leo (LWHo)
看板Database
標題[SQL ] 題目解讀有點困難
時間Thu Oct 29 19:29:03 2015
(針對
SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
資料庫名稱:MySQL
資料庫版本:5.5.46
內容/問題描述:
做練習題時解讀題目有點困難,
題目為 :
依主修結算所有三, 四年級全部學生的平均GPA大於3.2者.
表格輸出兩欄(主修,GPA平均值)
主修 GPA平均值
ACCT 3.500000
PERF 3.600000
這是正確答案
https://goo.gl/H6ZzR9
這是table的資料
而我的語法為
SELECT stdmajor , stdGPA
FROM student
WHERE stdGPA in (
SELECT avg(stdGPA) > 3.2
FROM student
WHERE stdclass='JR' and 'SR' );
是我語法錯了, 還是邏輯錯了??
帶出來卻都是NULL...
希望有高手能高抬貴手, 能幫忙解決我這小問題.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.123.252
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1446118146.A.EA5.html
※ 編輯: ho83leo (211.22.123.252), 10/29/2015 19:32:14
→ maple0517: WHERE stdclass IN ('JR','SR') ??10/29 20:25
→ joedenkidd: where stdclass='JR' or stdclass='SR' 應該也行10/29 21:28
→ joedenkidd: 個人覺得問題出在 and ,同一欄不可能同時是JR及SR10/29 21:35
→ joedenkidd: 所以應該改成 or 其中一條件成立,或像樓上的用IN10/29 21:36
感謝各位大大能幫忙解惑!
※ 編輯: ho83leo (120.102.146.202), 10/30/2015 11:15:34
還是這種寫法 我還比較看得懂... 感謝chip大解惑也
※ 編輯: ho83leo (123.50.49.92), 11/01/2015 14:37:47