教學管理資料庫中有學生表
1. 已知一個教學管理資料庫JXGL,包含以下三張數據表:學生表、課程表以及學生成績表。它們的結構如下:
1.IF EXISTS (SELECT * FROM sysobjects WHERE
name = 'view_stuInfo')
DROP VIEW view_stuInfo
GO
CREATE VIEW view_stuInfo
AS
SELECT a.學號,a.姓名,b.課程號,c.成績 from 學生專表 a,課程表 b,學生成績表 c
where a.學號=c.學號 and b.課程號=c.課程號
GO
2.insert into 學生表 values(21,『王玲』,屬女,20,『計算機』)
3.select count(*) from 學生表
2. 教學管理」資料庫中有學生表、課程表和選課表,如何創建資料庫反應三張表之間的聯系
關於反映這三張表中數據之間的聯系,提供三方面信息以供參考:
1、表關系分析:學生表與課程表是多對多的關系,建立一張關聯表也就是選課表來將學生表與程表產生關聯。
2、資料庫表分析:學生表包括學生相關信息,課程表包括課程相關信息,選課表放其他兩張表的各一個欄位(可以維護唯一性,比如說主鍵)。
3、實體分析:包含學生和課程兩個實體,在每個實體中加入另外一個實體的集合。
3. 在教學管理資料庫中,學生表和成績表通過關鍵字學號欄位構成的是
一對多,每個學生都有1個固定的學號,這個學習學習了多門課程,每個課程都有一個成績,所以是一個學生多門成績,形成一對多
4. 在教學管理資料庫jxgl中有5張表,完成SQL查詢語句
成績表怎麼沒有欄位呢
5. 某學校教學管理資料庫jxgl.dbc中有三個表:學生表,課程表和成績表,內容如下: 學生表:
(1)創建學生表、課程表和成績表。具體要求:學生表中學號為主索引,出生日期默認值為1988-09-01;課程表中課程號為主索引,學分不能為空;成績表中學號是外索引與學生表建立關系,課程號是外索引與課程表建立關系,成績的要求是在0-100之間。
createtable 學生表
(學號intnotnullprimarykey,
姓名varchar(30)notnull,
性別varchar(4)notnull,
出生日期datetimenotnulldefault 1988-09-01
)
go
createtable 課程表
(課程號char(6)notnullprimarykey,
課程名varchar(30)notnull,
學分char(10)notnull
)
go
createtable 成績表
(學號 學生表(學號),
課程號char(6) 課程表(課程號),
成績 tinyintconstraint 成績_ckcheck (成績>=0 and 成績<=100 )
)
(2)通過insert into命令向各表中輸入記錄(按照所給表的內容)
insert into 學生表values (10001,'張娟娟','女','1987-09-01')
insert into 學生表values (10002,'李斌','男','1988-03-01')
insert into 學生表values (10003,'王亮晶','女','1986-05-04')
insert into 學生表values (10004,'成果果','女')
insert into 課程表values ('K01','VFP程序設計','3.5')
insert into 課程表values ('K02','計算機文化基礎','2')
insert into 成績表values (10001,'K01 ','85')
insert into 成績表values (10001,'K02 ','90')
insert into 成績表values (10002,'K01 ','88')
insert into 成績表values (10002,'K02 ','92')
insert into 成績表values (10003,'K01 ','90')
insert into 成績表values (10003,'K02 ','91')
insert into 成績表values (10004,'K01 ','76')
insert into 成績表values (10004,'K02 ','87')
(3)查詢「VFP程序設計」課程的學號和成績並按降序輸出。
select 課程表.課程名,成績表.學號,成績表.成績from 成績表
join 課程表on 成績表.課程號=課程表.課程號
where 課程表.課程名='VFP程序設計'
orderby 成績表.成績desc
(4)查詢「成果果」的學號和成績。
select 學生表.姓名,成績表.學號,成績表.成績from 成績表
join 學生表on 成績表.學號=學生表.學號
where 學生表.姓名='成果果'
(5)查詢「張娟娟」的學號和出生日期。
select 學號,姓名,出生日期from 學生表where 姓名='張娟娟'
(6)查詢課程號為「K01」的成績。
select 課程號,成績from 成績表where 課程號='K01'
(7)查詢「王亮晶」的「計算機文化基礎」成績。
select 學生表.姓名,課程表.課程名,成績表.成績from 成績表
join 課程表on 成績表.課程號=課程表.課程號
join 學生表on 學生表.學號=成績表.學號
where 課程表.課程名='計算機文化基礎'and 學生表.姓名='王亮晶'
6. 在名稱為教學庫的資料庫中包含有學生、課程和選課三個表,它們的定義是什麼
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 課程
7. 在名稱為教學庫的資料庫中包含有學生、課程和選課三個表
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 課程
8. 「學生管理」資料庫中的「學生」表中數據如下表,請寫出下列查詢的SQL語句
1.
select學號,姓名,專業from學生
2.
select*from學生
3.
select*from學生where姓名like'王%'
4.
select*from學生where性別='男'
5.
select*from學生whereYEAR(出生日期)=1990
6
select*from學生where專業='國際貿易'
7.
select*from學生whereYEAR(出生日期)=1991
8
select*from學生where姓名like'張%'
9. 資料庫中創建一個學生表
如果想在資料庫中創建一個學生表的話,需要插入一個表格進行操作
10. vf.假設在D盤目錄下有教學管理資料庫、其中含有學生成績表,用命令的形式打開並顯示出學生的成績表
select count(*) from 學生成績表 where 分數>600