當前位置:首頁 » 編程語言 » sql大於80分
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql大於80分

發布時間: 2023-08-17 11:51:03

㈠ 用一條sql語句查詢出「每門」課程都大於80分的學生姓名

首先需要進行分析:

要查詢出每門課程都大於80分的學生姓名,因為一個學生有多門課程,所以會出現下面三種情況。

第一可能所有課程都大於80分。

第二可能有些課程大於80分,另外一些課程少於80分。

第三也可能所有課程都小於80分。

那麼我們要查找出所有大於80分的課程的學生姓名,我們可以反向思考,找出課程小於80分(可以找出有一些課程小於80分,所有課程小於80分的學生)的學生姓名再排除這些學生剩餘的就是所有課程都大於80分的學生姓名了。

分析完成後,進入數據圖形化管理界面創建表並插入數據

--創建表aa

create table aa(

name varchar(10),

kecheng varchar(10),

fengshu int

)

--插入數據到表aa中

insert into aa values('張三','語文',81)

insert into aa values('張三','數學',75)

insert into aa values('李四','語文',76)

insert into aa values('李四','數學',90)

insert into aa values('王五','語文',81)

insert into aa values('王五','數學',100)

insert into aa values('王五','英語',90)

用一條SQL語句查詢出每門課都大於80分的學生姓名

select distinct name from aa where name not in (select distinct name from aa where fengshu<=80)

結果如下圖:

(1)sql大於80分擴展閱讀:

除了用distinct還可以用not in 或者 not exists 實現

//not in

SELECT DISTINCT A.name FROM Student A WHERE A.name not in(SELECT Distinct S.name FROM Student S WHERE S.score <80);

//not exists

SELECT DISTINCT A.name From Student A where not exists (SELECT 1 From Student S Where S.score <80 AND S.name =A.name);

結果與前面正文一樣。

㈡ 一個成績統計表 三個學生 每個學生兩門成績,寫一個sql語句獲得每門課成績都大於80分學生的名字

SELECT D.name FROM (
SELECT S.name,S.score AS ITEM1,S1.score AS ITEM2,S2.score AS ITEM3
FROM Student S
inner join Student S1 on S.name = S1.name and S.course <> S1.course
inner join Student S2 on S.name = S2.name and S.course <> S2.course
WHERE S.score>=80 and S1.score>=80 and S2.score>=80
) D
GROUP BY D.name

㈢ sql語句在學生表中查詢4號同學成績高於80分的課程號

原來多表聯合查詢還可以用列與列之間進行比較。聯合百查詢後,在where用選度課表的成績列 大於 選課表平均成績。
student為學生問表,答class為課程表,selectclass為選課關系表。
select * from selectclass as t1,
(select avg(sc.classreult)as pingjun,sc.classID from selectclass as sc group by classid )as t2
where t1.classID=t2.classID and t1.classReult>t2.pingjun

㈣ SQL 找出平均成績大於80的學生總人數找出平均成績最高的學生的所有信息

1.select count(*) from (select 學號,avg(成績) score from grade group by 學號) a where a.score>80
2.select * from student where 學號 in(select top 1 學號 from (select 學號,avg(成績) score from grade group by 學號)a order by score desc)

哦,第二個沒注意,已修改

㈤ 用sql代碼查詢課程成績大於80分的所有學生成績

Select ID,學生姓名,成績 from 表名 where 成績>80
得到的就是成績大於80分的所有人以及成績

㈥ SQL查詢出平均分大於80分,且至少兩門課大於90的學生。

select a.* from stu a,study b,(select a.Sno Sno,count(b.Grade) shuliang from stu a,study b where a.Sno=b.Sno and b.Grade>=90 group by a.Sno)t
where a.Sno=b.Sno and a.Sno=t.Sno and t.shuliang>=2
group by a.Sno,a.Sname,a.Sex,a.Age,a.Native
having avg(b.Grade)>=80

㈦ 用SQL查詢出每門成績都大於80分的學生姓名

代碼如下:

  1. select name from stu where name not in(

  2. select name from stu where

  3. fenshu<=80 group by name having

  4. count(*)>=1) group by name

  5. 先查到任何一門不足80的學生,再排除這些學生。

㈧ 如何在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經常使用,所以一般將它稱為查詢(檢索)語言並單獨出現。