[SQL ] 題目解讀有點困難

看板Database作者 (LWHo)時間10年前 (2015/10/29 19:29), 10年前編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
(針對 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

10/29 20:25, , 1F
WHERE stdclass IN ('JR','SR') ??
10/29 20:25, 1F

10/29 21:28, , 2F
where stdclass='JR' or stdclass='SR' 應該也行
10/29 21:28, 2F

10/29 21:35, , 3F
個人覺得問題出在 and ,同一欄不可能同時是JR及SR
10/29 21:35, 3F

10/29 21:36, , 4F
所以應該改成 or 其中一條件成立,或像樓上的用IN
10/29 21:36, 4F

10/30 01:04, , 5F
感謝各位大大能幫忙解惑! ※ 編輯: ho83leo (120.102.146.202), 10/30/2015 11:15:34

10/30 12:56, , 6F
10/30 12:56, 6F
還是這種寫法 我還比較看得懂... 感謝chip大解惑也 ※ 編輯: ho83leo (123.50.49.92), 11/01/2015 14:37:47
文章代碼(AID): #1MCWC2wb (Database)