學生表和課程表是一對多的關系類型
A. 資料庫中包含學生表、課程表、學生選課表3個表,分別是什麼
1、SELECT 課程號, 課程名, 課程學分
FROM 課程 WHERE 課程號 IN(SELECT 課程號
FROM 選課
GROUP BY 課程號
HAVING COUNT(學生號) BETWEEN 2 AND 4 )
2、SELECT MAX(成績) - MIN(成績) AS 分數之差
FROM 選課
倘若要每門課程相差
SELECT 課程, MAX(成績) - MIN(成績) AS 分數之差
FROM 選課
GROUP BY 課程
B. 用SQL對學生表、課程表、成績表進行多表查詢。
CREATE TABLE 選課表
(學號 CHAR(8) REFERENCES 學生表內(學號),
課程編號 CHAR(6) REFERENCES 課程表(課程編號),
成績 smallint)
GO
INSERT INTO 學生表 VALUES('20100101','李丹','女','1993-6-6','管理系容')
GO
SELECT 學號,姓名,所在系
FROM 學生表
GO
SELECT 學生表.學號,姓名
FROM 學生表 JOIN 選課表 ON 學生表.學號=選課表.學號
WHERE 課程編號='A01-02'
GO
SELECT *
FROM 學生表
WHERE 姓名 LIKE '[趙李張]%'
GO
SELECT 課程名稱,COUNT(*) AS 選修總人數
INTO 修課統計
FROM 課程表 JOIN 選課表 ON 課程表.課程編號=選課表.課程編號
GROUP BY 課程名稱
C. 學生和課程是多對多,有學生表,課程表,關系表。問寫出SQL找出選課大...
select * from 學生表 where studentid in (select studentid from 關系表 group by studentid having count(*)>5)
子查詢:select studentid from 關系表 group by studentid having count(*)>5 找出符合的ID
D. 1.在學生資料庫中有三張數據表,即學生表、課程表和選課表,三張表的表數據如下,寫出創建學生表、課程
create table student(S_no char(9), S_name char(20), S_sex char(2), S_age int, S_department char(20))
create table course (C_no char(10), C_name char(20), C_teacher char(20) )
create table choice(S_no char(9), C_no char(10), S_score int)
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('001', '李志強', '男', 20, '計算機系' )
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('002', '張 亮', '男', 21 '建築工程系' )
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('003', '李 平', '女', 19 '計算機系' )
insert into course(C_no, C_name, C_teacher )
values('C001', 'C語言', '王雅新' )
insert into course(C_no, C_name, C_teacher )
values('C002', '數據結構', '和海蓮' )
insert into course(C_no, C_name, C_teacher )
values('C003', 'SQL Server2000', '陳 紅' )
insert into choice(S_no, C_no, S_score)
values('001', 'C001', 83)
insert into choice(S_no, C_no, S_score)
values('001', 'C002', 80 )
insert into choice(S_no, C_no, S_score)
values('002', 'C001', 75)
insert into choice(S_no, C_no, S_score)
values('002', 'C004', 85)
insert into choice(S_no, C_no, S_score)
values('003', 'C002', 88)
insert into choice(S_no, C_no, S_score)
values('003', 'C003', 86)
E. 學生—課程"資料庫中包含學生表,課程表,學生選課表3個表,分別是:
您好,您這樣:
--1
select Sname,Sage from Student where Sage<(select Sage from Student where Sno='某一學生') and Sdept='數學系'
--2
select Sname from Student where Sno in (select Sno from SC)
--3
select Sname from Student where Sno in (select Sno from SC group by Sno having count(*)=(select count(*) from Course ))
F. 要設計一個學生課程管理資料庫,包含3個關系分別是:學生表Student、課程表Cors
1.SELECT COUNT(DISTINCT(學號)) FROM SC 2.SELECT 姓名 FROM S,SC WHERE S.學號=SC.學號 AND S.學號=1號 3.SELECT S.學號,姓名,課程名,成績 FROM S,SC,C WHERE S.學號=SC.學號 AND SC.課程號=C.課程 AND 課程號=1號 4.SELECT S.學號,姓名 FROM S,SC WHERE S.學號=SC.學號 AND SC.課程=『人工智慧』 5.SELECT MAX(成績) FROM S,SC WHERE S.學號=SC.學號 AND S.學號=1號 6.SELECT 學號,姓名 FROM S WHERE SUBSTRING(姓名,3,2)=』月』 7.SELECT 課程號,COUNT(*) FROM C,SC WHERE C.課程號=SC.課程號 8.SELECT S.學號,姓名 FROM S,SC,C WHERE S.學號=SC.學號 AND SC.課程號=C.課程號 AND C.成績>80 9.SELECT DISTINCT(省區) FROM S WHERE S.系別=『物理』 10.SELECT * FROM S ORDER BY 系別 ASC,年齡 DSC 11.SELECT AVG(成績 ) FROM C WHERE 課程號=2號 12.SELECT 學號,姓名 FROM S WHERE SUBSTRING(姓名,3,2)=』陽』
G. SQL語句的一道題 三個基本表:學生表(Student)、課程表(Course)、學生選課表(SC)
1. select * from SC
2. select Sname,Sage from Student where Sdept = '計算機'
3. select Sno,Cno,Grade from SC where Grade >= 70 and Grade <= 80
4. select Sname,Sage from Student where Sage between 18 and 20 and Ssex = '男'
5. select top 1 Grade from SC where Cno = 'C01'
6. select max(Sage),min(Sage) from Student
7. select Sdept,sum(Sno) from Student group by Sdept
8. select course.Cname,sum(sc.Sno),max(Grade) from SC
join studet on Student.Sno = SC.Sno
join Course on Course.Cno = SC.Cno
group by course.cname,max(grade)
9. select sum(Cno),avg(Grade) from SC
join Course on Course.Cno = SC.Cno
join Student on Student.Sno= SC.Sno
order by SC.Sno
10. select Stuent.Sno,Stuent.Sname,sum(Grade) A from SC
join Student on Student.Sno = SC.Sno
group by sc.Sno,student.Sname
having A > 200
11. select Student.Sname,Student.Sdept from Student
join Course on Course.Cno = SC.Cno
join SC on SC.Sno = Student.Sno
where SC.Cno = 'C02'
12. select Student.sname,course.cno,sc.grade from sc
join student on student.sno = sc.sno
join course on course.cno = sc.cno
where sc.grade >= 80
order by sc.grade desc
13. select cno,cname from
(
select course.cno,course.cname,sun(sno) from student
join course on course.cno = sc.cno
join sc on sc.sno = student.sno
group by cno,cname
having sun(sno) > 0
)
14. ① select student.sname,student.sdept from
(
select student.sname,student.sdept,course.cname from student
join sc on sc.sno = student.sno
join course on course.cno = sc.cno
where course.cname = 'C01'
)
② select student.sno,student.sname from
(
select student.sno,student.sname,student.sdept,sc.grade from sc
join student on student.sno = sc,sno
where student.sdept = '信息' and sc.grade >= 80
)
③ select top 1 student.sname from
(
select student.sname,student.sdept,sum(sc.grade) from sc
join student on student.sno = sc.sno
where student.sdept = '計算機'
group by student.sname,student.sdept
order by
)
15. delete from sc where grade < 50
16. update sc set grade += 5 from sc
join course on course.cno = sc.cn
join student on student.sno = sc.sno
where student.sno =
(
select student.sno from sc
join course on course.cno = sc.cno
where course.cname = 'c01'
)
17. update sc set grade += 10 from sc
join student on student.sno = sc.sno
where student.sno =
(
select student.sno from student
join sc on sc.sno = student.sno
join course on course.cno = sc.cno
where student.sdept = '計算機' and course.cname = '計算機文化基礎'
)
18. create view [A] as
select student.sno,student.sname,student.sdept,course.cno,course.cname,sc.grade from sc
join student on student.sno = sc.sno
join course on course.cno = sc.cno
19. create view [A] as
select student.sno,avg(sc.grade) from sc
join student on student.sno = sc.sno
group by student.sno
20. create view [A] as
select student.sno,sum(sc.grade) from sc
join student on student.sno = sc.sno
group by student.sno
21. create index A on student(sname)
22. 不會
H. 教學管理」資料庫中有學生表、課程表和選課表,如何創建資料庫反應三張表之間的聯系
關於反映這三張表中數據之間的聯系,提供三方面信息以供參考:版
1、表關系分析:學生權表與課程表是多對多的關系,建立一張關聯表也就是選課表來將學生表與程表產生關聯。
2、資料庫表分析:學生表包括學生相關信息,課程表包括課程相關信息,選課表放其他兩張表的各一個欄位(可以維護唯一性,比如說主鍵)。
3、實體分析:包含學生和課程兩個實體,在每個實體中加入另外一個實體的集合。
I. 對於給定的數據表(教師表,學生表,課程表,成績表),如何設置他們
在資料庫工具選項來卡的源關系窗口中創建關系。
在設計選項卡中出現顯示表窗口,雙擊教師表,學生表,課程表和成績表,將它們添加到關系窗口中;
選擇任意兩個欄位,出現編輯關系窗口,即可設置他們之間的關系。
關系類型有一對一,一對多和多對多。
學生表和成績表是一對多
教師表和學生表是多對多
課程表和學生表是一對多
以上答案僅供參考
J. 學生表、課程表,學生課程關系表問題
create trigger stu_trig
on card
for insert
as
declare @e int
begin
if exists(select @e = s.stuidfrom card as c,student as s,course as u where u.cname = '物理' and c.score = 100 and s.sname = '張三')
update student set stuid = 1 where stuid = @e
end
寫了1個,不知道正確與否.另1個須加分!