15 要從選課表中查詢出選修 2 科及 2 科以上的學生學號之 SQL 敘述,下列何者正確?
(A) SELECT 學號,count(*)FROM 選課表 Having COUNT(*)>=2
(B) SELECT 學號,count(*)FROM 選課表 GROUP BY 學號 Where COUNT(*)>=2
(C) SELECT 學號,count(*)FROM 選課表 GROUP BY 學號 Having COUNT(*)>=2
(D) SELECT 學號,count(*)FROM 選課表 Where COUNT(*)>=2

答案:登入後查看
統計: A(1), B(1), C(8), D(1), E(0) #2457511

詳解 (共 5 筆)

#5503738
 WHERE要在GROUP之前
(共 17 字,隱藏中)
前往觀看
1
0
#4744278
WHERE 要比 GROUP 指令先下達...
(共 84 字,隱藏中)
前往觀看
0
0
#7239766
這是一道關於 SQL 資料庫查詢語言 的...
(共 2183 字,隱藏中)
前往觀看
0
0
#7239774
這是一道關於 SQL(結構化查詢語言)中...
(共 2014 字,隱藏中)
前往觀看
0
0
#7281901
(A)
SELECT 學號,COUNT(*)
FROM 選課表
Having COUNT(*)>=2        =>有聚合必須要有GROUP BY、缺GROUP BY
ㅤㅤ
(B)
SELECT 學號,COUNT(*)
FROM 選課表
GROUP BY 學號                         =>WHERE要在GROUP BY前面一行
WHERE COUNT(*)>=2        =>COUNT(*)>=2要接在HAVING後面才對
ㅤㅤ
(C)
SELECT 學號,COUNT(*)             =>列出所要顯示的欄位名稱
FROM 選課表                           =>來自選課這個表格
GROUP BY 學號                        =>將相同學號的人分組合併
HAVING COUNT(*)>=2            =>計算並篩選出選修有>=2堂的學號
ㅤㅤ
(D)
SELECT 學號,COUNT(*)
FROM 選課表
WHERE COUNT(*)>=2        =>WHERE不能直接接聚合函數、缺GROUP BY、WHERE換HAVING
ㅤㅤ
ㅤㅤ
只要SELECT中有出現聚合函數(SUM、COUNT、AVG...)就必須有GROUP BY
SQL的排序如下:
     SELECT
     FROM
     WHERE
     GROUP BY
     HAVING
     ORDER BY
ㅤㅤ
ㅤㅤ
用(C)來對以下表格進行查詢:
ㅤㅤ
課程表  
課程 學號
國文 A、B、C
英文 A、C
數學 A、D
自然 B、D、E
社會 F、G
 
結果:
ㅤㅤ
學號 COUNT(*)
A 3
B 2
C 2
D 2
0
0