當前位置:首頁 » 成績查詢 » 查詢選修2號課程且成績在90分

查詢選修2號課程且成績在90分

發布時間: 2021-03-04 08:49:43

⑴ 求選修課程號位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數據查詢語句

1
selectcno,cnamefromcourse
2
selectsname,year(getdate())-sagefromstudent
3
select*fromstudentwheresage<20
4

5
(cname,3,1)<>'系'
6
select*fromscwheregradeisnull
7
<20andsdept='計算機系'
8
selectsno,gradefromscwherecno=2orderbygradedesc
9
selectavg(grade)fromscwherecno=2
10
selectcno,count(*)fromscgroupbycno
11
selecta.sname,b.cname,c.grade
fromstudenta,courseb,sccwherea.sno=c.snoandb.cno=sc.cno
anda.ssex='女'
12
selecta.sno,a.snamefromstudenta,scbwherea.sno=b.snoandb.cno=2andc.grade>90
13
selectsno,cnofromscwherecnoin(>3)
14
selectsno,cnofromsca,
(selectcno,avg(grade)avg_gradefromscgroupbycno)b
wherea.cno=b.cnoanda.grade<b.avg_grade
15
selectsname,sagefromstudentwheresdept<>'IS'andsage<any(='IS'andsname='xxxx')
16
(selectsnofromscwherecno=(selectcnofromcoursewherecname='信息系統'))

⑶ 24.查詢學生總人數 用sql語言編寫

最好拿個表出來,不然寫了你們不容易分析懂

⑷ 求資料庫原理題 答案 題目如下 盡快

1)select chenji from biao where chenji< (select avg(chengji) from biao)
2)select xuehao,chengji from biao where kechenghao like 'C135' order by xuehao asc
3)update biao set chengji=chengji+5 where chengji<60
4)select xuehao,chengji from biao where kechenghao like 'c135' and chengji <(select avg(chengji) from biao)
5)select xuehao from (select * from biao where kechenghao='C135') where kechenghao in ('C219')
先寫到這里,回復見專下文屬

⑸ 用SQL語句三種方法查詢秋季學期有2門以上課程獲90分以上成績的學生名

1.select SNAME from STUDENT where SNO in
(select SNO from SC where GRADE>90 group by SNO having count(*)>=2)

2.select a.SNAME from STUDENT a,(select SNO from SC where GRADE>90 group by SNO having count(*)>=2) b
where a.SNO=B.SNO

3.select a.SNAME from STUDENT a,SC b where a.SNO=b.SNO and b.GRADE>90
group by a.SNAME having count(*)>2

解釋:select SNO from SC where GRADE>90 group by SNO having count(*)>=2 這句就代表按照SNO匯總,分數90以上,並且條數(也就是有兩科)也是2門以上(回包含2門),如果只答是2門以上,你可以把=號去掉

⑹ 求「建立查詢,查找選修「保險學」且成績在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中規定:所有子表都是可以通過表名調用其上面任意層次的表中的欄位的。所以,不是只有內聯接才可以調用多個表的屬性。

⑺ 資料庫高手來

1.(1)在選修表中,按學號分組,查詢出所有學號和每個學號對應的課程總數。
(內2)在選修表容中,查詢課程號為3的所有學號及分數,查詢結果按分數降序排序。
2. 關系代數式都是些亂起八糟的符號,在這里不好敲.....
3.(5)SELECT 姓名,專業 FROM 學生 WHERE 籍貫='山東' AND 性別='男';
(6)SELECT A.學號,A.姓名 FROM 學生 A,選修 B WHERE A.學號=B.學號 AND B.課程號=2 AND B. 分數>=90;
(7)SELECT 學號,姓名,專業 FROM 學生 WHERE 學號 NOT IN (SELECT 學號 FROM 選修 WHERE 課程號='C135');
(8)DELETE FROM 學生 WHERE 學號 IN (SELECT 學號 FROM 選修 WHERE 成績=0);
4.CREATE VIEW AAA AS SELECT A.學號,A.姓名,B.課程號,B.分數 FROM 學生 A,選修 B WHERE A.學號=B.學號 AND A.專業='英語';

回答完畢.....

⑻ 根據用戶要求輸出某門課程(由鍵盤輸入課程號)成績在90分以上(含90分)且總分在前五名的學生情況

#include<stdio.h>
#include<string.h>
#defineMAX_STUDENT_NUM512//學生個數

typedefenum{
SUBJECT_YUWEN,
SUBJECT_SHUXUE,
SUBJECT_YINGYU,

SUBJECT_END
}SUBJECT_TYPE_T;

typedefstructstudent
{
charname[32];//姓名
intindex;//學號
intscore[SUBJECT_END];//單項成績數組
intavg_score;//平均成績
intrank;//名次
inttotal_score;//總成績
}STUDENT_T;

char*subject_str[SUBJECT_END]=
{
[SUBJECT_YUWEN]="語文",
[SUBJECT_SHUXUE]="數學",
[SUBJECT_YINGYU]="英語",
};

//根據學生成績進行冒泡排序
voidranking(STUDENT_T*a,intcnt)
{
inti=0;
intj=0;
STUDENT_Ttmp={0};

for(i=0;i<cnt;i++)
{
for(j=i+1;j<cnt;j++)
{
if(a[i].total_score<a[j].total_score)
{
memcpy(&tmp,&a[j],sizeof(STUDENT_T));
memcpy(&a[j],&a[i],sizeof(STUDENT_T));
memcpy(&a[i],&tmp,sizeof(STUDENT_T));
}
}
}

//計算名次
for(i=0;i<cnt;i++)
{
//名次要考慮到並列的情況
if(0==i||a[i].total_score!=a[i-1].total_score)
{
j=i+1;
}
a[i].rank=j;
}
}

//計算平均成績
voidaverage(STUDENT_T*a,intcnt)
{
inti=0;
intj=0;

for(i=0;i<cnt;i++)
{
for(j=0;j<SUBJECT_END;j++)
{
a[i].avg_score+=a[i].score[j];
}
a[i].avg_score/=SUBJECT_END;
}
}

//根據分數和名詞找到學生並列印
voidprint_student_by_score_rank(STUDENT_T*a,intcnt,intscore,intrank)
{
inti=0,j=0,h=0,subject=0;

for(j=0;j<SUBJECT_END;j++)
{
printf("學科%s:%d",subject_str[j],j);
}
printf(" ");
printf("請輸入想要對比的學科號: ");
scanf("%d",&subject);

for(i=0;i<cnt;i++)
{
if(a[i].score[subject]>=score&&a[i].rank<=rank)
{
h=1;
printf("名次:%d姓名:%s學號:%d平均成績:%d",a[i].rank,a[i].name,a[i].index,a[i].avg_score);
for(j=0;j<SUBJECT_END;j++)
{
printf("學科%s:%d",subject_str[j],a[i].score[j]);
}
printf(" ");
}
}

if(0==h)
{
printf("沒有%s成績在%d以上且排名在前%d的學生 ",subject_str[subject],score,rank);
}
}

intmain(intargc,char*argv[])
{
inti=0;
intj=0;
intrank=0;
intcnt=MAX_STUDENT_NUM;
STUDENT_Tstudent[MAX_STUDENT_NUM]={0};
chartmp[32]={0};

printf("請輸入學生人數: ");
scanf("%d",&cnt);
if(cnt>MAX_STUDENT_NUM)
{
printf("最多%d個學生 ",MAX_STUDENT_NUM);
return;
}

//輸入學生信息
printf("請按序號依次輸入%d個學生的信息 ",cnt);
for(i=0;i<cnt;i++)
{
printf(" 第%d個學生: ",i+1);
printf("姓名: ");
scanf("%s",student[i].name);
printf("學號: ");
scanf("%d",&student[i].index);
for(j=0;j<SUBJECT_END;j++)
{
printf("%s成績: ",subject_str[j]);
scanf("%d",&student[i].score[j]);
}

//計算每個學生的總成績
for(j=0;j<SUBJECT_END;j++)
{
student[i].total_score+=student[i].score[j];
}
}
//計算每個學生的平均成績
average(student,cnt);

//根據總成績進行排序
ranking(student,cnt);

//根據成績和名詞找到學生
print_student_by_score_rank(student,cnt,90,5);

return0;
}

這是我以前回答的一個類似問題的答案,我改了下,只通過編譯,沒怎麼試,你如果試的有問題自己改改就行了。

⑼ 從學生選課資料庫中查詢選修「資料庫原理」課並且成績在90分以上的學生名單,請寫出SQL語句.

select sname from student
where sno in(
select a.sno from studentcourse a join course b
on a.cno=b.cno
where b.cname='資料庫原理' and a.score>90)

select a.sclass as 班級,count(*) as 不及格人回數答 from
student a join studentcourse b
on a.sno=b.sno
where b.score<60
group by a.sclass

熱點內容
武漢大學學生會輔導員寄語 發布: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