當前位置:首頁 » 數據倉庫 » 設有學生課程資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

設有學生課程資料庫

發布時間: 2023-05-08 18:17:09

『壹』 如何使用sql語句操作「學生課程資料庫中的三個關系」

設學生課程資料庫中有三個關系:
學生關系S(學號,姓名,年齡,性別)
學習關系SC(學號,課程號毀搏,成績)
課程關系C(課程號,課程名)
其中
S#、C#、SNAME、AGE、SEX、GRADE、CNAME分別表示
學號、課程號、姓名、年齡、性別、成績和課程名。

用SQL語句表達下列操作
(1).檢索選修課程名稱為「MATHS」的學生的學號與姓名

SELECT
S.學號,S.姓名
FROM SC INNER JOIN C ON SC.課程號 = C.課程號 INNER JOIN S ON SC.學號 = S.學號
where C.課程名 = 'MATHS'

(2).檢索至少學習了課程號為「C1」和「C2」的學生的學號
SELECT 學號,iCount=Sum(iCount) From (
SELECT 學號,iCount=1 FROM SC Where 課程號 = 'C1' OR 課程號 = 'C2'
) A Group by 學號

(3).檢索年齡在18到20之間(含18和20)的女生的學號、姓名和年齡

SELECT 學號,姓名,年齡 FROM S WHERE 性別='女' And 年齡 >= 18 And 年齡 <纖碧祥= 20

(4).檢索平均成績超過80分的學生的學號和慧賀平均成績

SELECT * FROM (
SELECT 學號,平均成績=Avg(成績) FROM SC Group By 學號
) A WHERE 平均成績 > 80

(5).檢索選修了全部課程的學生姓名

SELECT
S.姓名
FROM
(
SELECT 學號 FROM(SELECT 學號,學習課程總數=Count(課程號),課程總數=Isnull((select count(課程號) From C),0) FROM SC Group By 學號) A Where 學習課程總數 = 課程總數
) L INNER JOIN S ON L.學號 = S.學號

(6).檢索選修了三門以上的學生的姓名
SELECT
S.姓名
FROM
(
SELECT 學號 FROM (SELECT 學號,課程數=sum(iCount) FROM (SELECT 學號,iCount=1 FROM SC) A GROUP BY 學號) A WHERE 課程數 > 3
) L INNER JOIN S ON L.學號 = S.學號

『貳』 有一個「學生-課程」資料庫,資料庫中包括三個表:

以oracle為例:

1、createtablestudent(Snonumber(10)primarykey,
Snamevarchar2(20),
Ssexvarchar2(2),
Sagenumber(10),
Sdeptvarchar2(20)
);
2、SELECT*FROMstudentFROMSdept='計算機'ORDERBYSnoDESC

3、SELECTDISTINCTstudent.Sno,student.Sname,student.Ssex
FROMstudent,Course,SC
wherestudent.Sno=SC.SnoANDCourse.Cno=SC.Cno
ANDCourse.Ccredit=5ANDSC.Grade>60

4、createorreplacetriggermy_trig
afterdeleteonstudent
foreachrow
begin
deletefromSCwhereSno=:student.Sno;
end;

『叄』 設有學生選修課程資料庫

1) select 課程號, 課程名稱 from 課程表 where 教師姓名='李老師'
2) select 學號, 姓名 from 學生表 where (性別='女') and (年齡>23)
3) select 課程名稱 from 課程表 where 課程號 in (select 選課表.課程號 from 選課表,學生表 where (選課表.學號=學生表.學號) and (學生表.姓名='李小波'))
4) select 姓名, 所在系 from 學生表 where 學號 in (select distinct 學號from 選課表 where 成績 >= 80)
5) select distinct 學生表.學號, 姓名 from 學生表, 選課表, 課程表 where (選課表.學號=學生表.學號) and (選課表.課程號=課程表.課程號) and (課賣返程名稱 <>'操作系統')
6)至少選修兩門以上課程的學生姓名、性別。 select [姓名], [性別] from [學生表] where [學號] in (SELECT [學號] FROM [選課表] group by [學號] having count([學號])>1)
7) select count(學號) from 選課表畢局, 課程表 where (選課表.課程號=課程表.課程號) and (教師姓名='李老師')
8) select distinct 學生表.學號, 學生表.姓名 from 學生表, 選課表, 課程表 where (選課表.學號=學生表.學號) and (選課表.課程號=課程表.課程號) and (教師姓名<>'中數飢李老師')
9) select top 1 學生表.學號, 姓名, 所在系 from 學生表, 選課表, 課程表 where (選課表.學號=學生表.學號) and (選課表.課程號=課程表.課程號) and (課程名稱 = '操作系統) order by 成績 desc

『肆』 設有一個學生—課程資料庫,其中包括三個表:

1.查詢所有學生的學號、姓名、所在系
Select sno,sname,sdept
From student
2.查詢全體學生的學號、姓名、性別,年齡,系別的信息
Select *
From student
3.查詢全體學生的姓名及其出生年份
Select sname,datadiff(year,sage,2010) as 出生年份
From student
4.查詢信息工程系全體學生的名單
Select sname
From student
Where sdept=』信息工程系』
5.查詢所有年齡在20歲以下的學生姓名以及年齡
Select sname,sage
From student
Where sage<20
6.查詢考試成績不及格的學生的學號
Select sno
From score
Where grade<60
7.查詢年齡在20-25(包括20、25)之間的學生的姓名、系別和年齡
Select sname,sdept,sage
From student
Where sage>=20 and sage<=25
8.查詢不在軟體系、網路系、也不在外語系學生的姓名和性別
select sname,sex
from student
where sdept <>'軟體系、網路系、外語系'
9.查詢所有姓李且全名為三個漢字的學生的姓名、學號、和性別
select sname,sno,sex
from student
where sname like '李_ _'
10.查詢姓名中第二個字為'陽'字的學生的姓名
select sname
from student
where sname like '_陽%'
11.查詢信息工程系年齡在20歲以下的學生的姓名
select sname
from student
where sage<20 and sdept='信息工程系'
12.查詢選修了3號課程的學生的學號及其成績,查詢結果按分數的降序排列
select sno,grade
from score
where cno='3'
order by grade desc
13.查詢全體學生的學號、姓名等情況,結果按照所在系的升序排序,同一系的按年齡降序排列
select sno,sname
from student
order by sdept asc,sage desc
14.統計學生總人數
select count(*) as 人數
from student
15.查詢選修課課程的學生人數
select count(*) as 人數
from score
16.計算1號課程的學生平均分數
select avg(grade) 均分
from score
where cno='1'
17.查詢選修了1號課程的學生最高分數
select max(grade) 最高分
from score
where cno='1'
18.求各課程號及相應的選修課人數
select cno,distinct(sno)
from score
group by cno
19.查詢選修了3門以上課程的學生號
select sno
from score
group by sno
having count(cno)>3
20.查詢選修2學分的課程且該課程的成績在90分以上的所有學生的姓名
select sname
from student,course,score
where student.sno=score.sno and course.cno=score.cno and ccredit=2 and grade>90
21.查詢每個學生的學號、姓名、選修的課程號和成績
select student.sno,sname,cno,grade
from student,score,course
where student.sno=score.sno and score.cno=course.cno
22.查詢所有選修了1號課程的學生姓名
select sname
from student,score
where student.sno=score.sno and score.cno='1'
23.查詢選修了課程名為「計算機信息管理」的學生的學號和姓名
select sno,sname
from student,course,score
where student.sno=score.sno and course.cno=score.cno
and cname='計算機信息管理'

希望能給你幫助

『伍』 有一個「學生課程」資料庫,資料庫中包括三個表:

創建「學生-課程」資料庫:將數據文件和日誌有一個「學生-課程」資料庫,資料庫中包括三個表:
(1)「學生」表1使用T-SQL語言完成下列操作1