① SQL如何查找個人平均分大於班級平均分的學生的學號姓名
select 姓名,avg(分數) from tbgroup by 姓名having avg(分數)>(select avg(分數) from tb )
② 如何在SQL server中查詢成績大於80的學生記錄集
HAVING語句通常與GROUP BY語句聯合使用,用來過濾由GROUP BY語句返回的記錄集。
HAVING語句的存在彌補了WHERE關鍵字不能與聚合函數聯合使用的不足。
語法:
SELECT column1, column2, ... column_n, aggregate_function (expression)
FROM tables
WHERE predicates
GROUP BY column1, column2, ... column_n
HAVING condition1 ... condition_n;
同樣使用本文中的學生表格,如果想查詢平均分高於80分的學生記錄可以這樣寫:
SELECT id, COUNT(course) as numcourse, AVG(score) as avgscore
FROM student
GROUP BY id
HAVING AVG(score)>=80;
在這里,如果用WHERE代替HAVING就會出錯。
數據操縱
數據操縱語言是完成數據操作的命令,一般分為兩種類型的數據操縱。
1、數據檢索(常稱為查詢):尋找所需的具體數據。
2、數據修改:插入、刪除和更新數據。
數據操縱語言一般由 INSERT(插入)、 DELETE(刪除)、 UPDATE(更新)、 SELECT(檢索,又稱查詢)等組成。由於 SELECT經常使用,所以一般將它稱為查詢(檢索)語言並單獨出現。