當前位置:首頁 » 成績查詢 » 查詢成績為90分以上的學生的學號

查詢成績為90分以上的學生的學號

發布時間: 2021-03-01 07:22:21

❶ ACCESS查找第一學期有兩門以上課程超過90分的學生學號

select 學號 from (SELECT 學號 from 成績表 where 成績 > 90 and 修讀學期 =1) group by 學號 having count(*)>=2 ;
說明:不知道你修讀學期字回段是文本還是數字類答型?我上面是假定數字類型。
SELECT 學號 from 成績表 where 成績 > 90 and 修讀學期 =1 這一句會查詢出第1學期成績超過90分的所有學號,有幾次超過90分「學號」就會出現幾次(理解這一點很重要)。
select 學號 from (……)group by 學號 having count(*)>=2; 這句以「學號」為分組,使用條件having count(*)>=2 使「學號」出現2次以上的輸出到結果集中,達到你的要求。

❷ SQL語句查詢查看90分以上學生的成績.課程名稱.學生姓名怎麼寫

select 成績,課程名稱,姓名 from 成績,學生基本信息,課程名稱 where學生基本信息.學號=成績.學號 and 成績.課程編號=課程名稱.課程編號 and 成績>90

❸ 1. 在xsgl資料庫中創建一個存儲過程Proc1,查詢成績在90分以上的學生的學號

/*創建存儲過程*/
CREATE PROCEDURE proc_select--建立存儲過程
@Sno char(10) output,--輸入輸出參數
@Sname varchar(20) out,--輸出參數
@Cno char(4) out,--輸出參數
@grade tinyint out--輸出參數
AS
SELECT @Sname=Sname,@Sno=Student.Sno,@Cno=cno,@grade=grade --select裡面寫輸出參數
FROM Student,SC --從學生表,選修表中查詢
where @Sno=Student.Sno--where裡面寫輸入參數
/*根據給定學號查詢*/
CREATE PROC proc_lab4 --存儲過程中含有游標
@Sno char(10)
as
declare @ssno char(10),@ssname char(20),@ccname char(20),@scg int--聲明四個變數
declare cursor_s cursor--聲明游標
for
select Student.Sno,Sname,Cname,grade
from Student,Course,SC--從三個表中選擇學號、姓名、課程名、成績
where Student.Sno=SC.Sno and Course.Cno=SC.Cno and Sname=@Sname;--連接
open cursor_s--打開游標
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
while @@fetch_status=0
begin
print @ssno+@ssname+@ccname+convert(char(10),@scg)
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
end
close cursor_s--關閉游標
deallocate cursor_s--釋放游標
exec proc_lab4 '201215121'
--只帶輸入參數
CREATE PROC p2
@sno char(10)
as
select Student.Sno,Sname,Cname,grade
from Student,SC,Course
where Student.Sno=SC.Sno and SC.Cno=Course.Cno
and Sname=@sname

❹ C語言~輸入5個學生的學號,成績,按成績排序(升序),查找90分以上的

代碼:

#include<stdio.h>

struct student

{

int num,score[3],age;

char name[20];

float aver;

}stu[1000];

main()

{

int i,j,n;

struct student temp;

/*注意:變數temp的類型與數組stu的元素類型為相同結構體的時候,才可交換兩個結構體數組元素,所以此處需要定義temp的類型*/

printf("請輸入學生人數: ");

scanf("%d",&n);

printf("請按順序輸入名字、學號、年齡、分數: ");

for(i=0;i<n;i++)

{

scanf("%s",&stu<i>.name);

scanf("%d",&stu<i>.num);

scanf("%d",&stu<i>.age);

for(j=0;j<3;j++)

scanf("%d",&stu<i>.score[j]);

}

for(i=0;i<n;i++)

{int sum=0;

for(j=0;j<3;j++)

sum+=stu<i>.score[j];

stu<i>.aver=sum/3.0;

}

for(i=0;i<n-1;i++)/*利用冒泡排序法按平均分高低排序*/

{for(j=0;j<n-i-1;j++)

{

if(stu[j].aver>stu[j+1].aver)

{temp=stu[j];/*此處交換的應當是數組元素,而不是平均分*/

stu[j]=stu[j+1];

stu[j+1]=temp;

}

}

}

printf("學生信息如下(姓名、學號、年齡、成績、平均分): ");

for(i=0;i<n;i++)

{

printf("%s%d%d",stu<i>.name,stu<i>.num,stu<i>.age);

for(j=0;j<3;j++)

printf("%d",stu<i>.score[j]);

printf("%.2f ",stu<i>.aver);

}

}

(4)查詢成績為90分以上的學生的學號擴展閱讀:

頭文件#include<stdio.h>中

stdio.h是stand input&output的縮寫,意思是標准輸入輸出頭文件。凡是用到標准輸入輸出函數,就要調用該頭文件。

查看stdio.h目錄下包含哪些函數:主要有文件訪問、二進制輸入/輸出、格式化和非格式化輸入/輸出、文件定位、錯誤處理、文件操作等。

具體打開自己的VS安裝目錄,找到include文件夾,打開include夾下面的stdio.h文件即可查看

(C:Program Files(x86)Microsoft Visual Studio 14.-1.1.10include)

常用標准輸入輸出函數:

scanf()從屏幕格式輸入

printf()格式輸出到屏幕

getchar()從屏幕得到一個字元

putchar()字元輸出到屏幕

gets()從屏幕得到一個字元串

puts()字元串輸出到屏幕

fscanf()從磁碟格式輸入

fprintf()格式輸出到磁碟

fgetc()從磁碟得到一個字元

fputc()字元輸出到磁碟

fgets()從磁碟得到一個字元串

fputs()字元串輸出到磁碟

#號是預處理語句,表明在編譯之前預先進行處理。

.h是header file的縮寫,表面這是一個頭文件。

include是文件包含命令,後面跟著引號""或者尖括弧<>,意思是將引號或尖括弧內指定的文件包含到本程序中,成為本程序的一部分,而包含的文件通常是由系統提供的。

❺ excel表格中已知學號,姓名,成績,求90分以上的學生姓名和學號的函數怎麼寫

^假設你的數據區在A2:C100
則在D2輸入
=index(A:A,small(if($C$2:$C$100>=90,row($2:$100),4^8),row(A1)))&""
數組公式,Ctrl+Shift+回車輸入
向右向下填充公式

❻ 求選修課程號位C1且成績在90分以上的學生學號,姓名和成績。

select sc.Cnum,sc.name 課程名稱,s.num 學號,s.name 姓名,sc.Score
from 學生表 s
left join 課程表 sc on sc.Snum = s.Snum
where sc.Cnum = 'C1' and sc.Score > '90';
兄弟,由於你只是給我看了你寫的語句,我不知內道你的表結構,以及字容段信息,所以有些地方我已經用別名幫你取出來了,你自己修改一下。
你的語句問題不大,犯了一點錯,就是90分以上了,題目都很明確了,那麼就不是=號了,而是大於號,至於說其它的你說沒數據,你先select * from一下,看看有沒有數據,如果真沒有,你可以留下qq,我幫你看看,反正今天周末不上班,我可以抽空幫你看看具體問題。
有問題在留言吧。

❼ 用SQL查詢平均成績高於90分的同學的學號、姓名及其平均成績,並按成績由高到低排序

select 學號,姓名,avg(成績) as '平均成績' from 學生成績表 HAVING avg(成績) > 90 order by avg(成績) desc

❽ 求「建立查詢,查找選修「保險學」且成績在90分以上的所有學生的學號、姓名、成績」的SQL語言

現在我們從後面的子查詢向前分解:

1.所有未選過的課程的數據集:
select * from 課程 where not exists(
select * from 選讀 where 課程號=課程.課程號)

2.所有沒被某位學號為 @學號 的學生選過的課程的記錄集(@學號學生的未選課程):
select * from 課程 where not exists(
select * from 選讀 where 學號=@學號 and 課程號=課程.課程號)
請注意,多出了學號的篩選即,學號=@學號。

3.遍歷每一個主查詢的學號,每一個學號都按第二篩選方法篩選出:沒有未選課程的學生的學號。(不包括在第查詢方法查詢出的「有未學課程的學號的記錄集」中的記錄。)
請注意:用主查詢中的 學生.學號 代替了@學號。
select 學生.姓名 from 學生
where not exists(
select * from 課程 where not exists(
select * from 選讀 where 學號=學生.學號 and 課程號=課程.課程號))

這已經是整個查詢語句,可以看出子查詢中用學生.學號替換了第2步中的 @學號,(沒忘了吧,第二步求的是沒有選修全部課程的某個學生)。

用上面的講解方法不知道是不是更好理解一點。

===============

針對您最後的補充:

為什麼不用
from 學生,課程,選讀?

答:因為from 學生,課程,選讀 也就是
SELECT * FROM 學生,課程,選讀 WHERE .....條件
這樣的型式只能組成內聯接,而內聯接我們只知道,只有三個表按聯接條件都符合才會被選中,而我們要的是有不符合後面兩表的的學生才符合條件,所以用內聯接是不可行的。

要不然where句怎麼可以調用三個關系的屬性呢?

答:在SQL SERVER中規定:所有子表都是可以通過表名調用其上面任意層次的表中的欄位的。所以,不是只有內聯接才可以調用多個表的屬性。

❾ 列出各門課平均成績90分以上的學生姓名及學號 有計算機SQL語句

select sname,student.sno
from student join sc on student.sno=sc.sno
group by sname,student.sno
having avg(score)>90

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919