一、 設有一資料庫,包括四個表:學生表(student)、課程表(course)、成績表(score)以及教師資訊表(teacher)。四個表的結構分別如表1-1的表(一)~表(四)所示,資料如表1-2的表(一)~表(四)所示。用sql語句建立四個表並完成相關題目。
表1-1資料庫的表結構
表(一)student (學生表)
屬性名資料型別
可否為空
含 義sno
char(3)
否學號(主碼)
sname
char(8)
否學生姓名
s***
char(2)
否學生性別
sbirthday
datetime
可學生出生年月
class
char(5)
可學生所在班級
表(二)course(課程表)
屬性名資料型別
可否為空
含 義cno
char(5)
否課程號(主碼)
cname
varchar(10)
否課程名稱
tnochar(3)
否教工編號(外碼)
表(三)score(成績表)
屬性名資料型別
可否為空
含 義sno
char(3)
否學號(外碼)
cnochar(5)
否課程號(外碼)
degree
decimal(4,1)可成績
主碼:sno+ cno
表(四)teacher(教師表)
屬性名資料型別
可否為空
含 義tno
char(3)
否教工編號(主碼)
tname
char(4)
否教工姓名
t***
char(2)
否教工性別
tbirthday
datetime
可教工出生年月
prof
char(6)可職稱
depart
varchar(10)
否教工所在部門
表1-2資料庫中的資料
表(一)student
snosname
s***
sbirthday
class
108曾華
男1977-09-01
95033
105匡明
男1975-10-02
95031
107王麗
女1976-01-23
95033
101李軍
男1976-02-20
95033
109王芳
女1975-02-10
95031
103陸君
男1974-06-03
95031
見文字文件
表(二)course
cnocname
tno3-105
計算機導論
8253-245
作業系統
8046-166
數位電路
8569-888
高等數學
831表(三)score
snocno
degree
1033-245
86105
3-245
75109
3-245
68103
3-105
92105
3-105
88109
3-105
76101
3-105
64107
3-105
91108
3-105
78101
6-166
85107
6-166
79108
6-166
81表(四)teacher
tnotname
t***
tbirthday
prof
depart
804李誠
男1958-12-02
副教授計算機系
856張旭
男1969-03-12
講師電子工程系
825王萍
女1972-05-05
助教計算機系
831劉冰
女1977-08-14
助教電子工程系
1、 查詢student表中的所有記錄的sname、s***和class列。
2、 查詢教師所有的單位即不重複的depart列。
3、 查詢student表的所有記錄。
4、 查詢score表中成績在60到80之間的所有記錄。
5、 查詢score表中成績為85,86或88的記錄。
6、 查詢student表中「95031」班或性別為「女」的同學記錄。
7、 以class降序查詢student表的所有記錄。
8、 以cno公升序、degree降序查詢score表的所有記錄。
9、 查詢「95031」班的學生人數。
10、 查詢score表中的最高分的學生學號和課程號。(子查詢或者排序)
11、 查詢每門課的平均成績。
12、查詢score表中至少有5名學生選修的並以3開頭的課程的平均分數。
13、查詢分數大於70,小於90的sno列。
14、查詢所有學生的sname、cno和degree列。
15、查詢所有學生的sno、cname和degree列。
16、查詢所有學生的sname、cname和degree列。
17、 查詢「95033」班學生的平均分。
18、 假設使用如下命令建立了乙個grade表:
create table grade(low int(3),upp int(3),rank char(1))
insert into grade values(90,100,』a』)
insert into grade values(80,89,』b』)
insert into grade values(70,79,』c』)
insert into grade values(60,69,』d』)
insert into grade values(0,59,』e』)
現查詢所有同學的sno、cno和rank列。
19、 查詢選修「3-105」課程的成績高於「109」號同學成績的所有同學的記錄。
20、查詢score中選學多門課程的同學中分數為非最高分成績的記錄。
21、 查詢成績高於學號為「109」、課程號為「3-105」的成績的所有記錄。
22、查詢和學號為108的同學同年出生的所有學生的sno、sname和sbirthday列。
23、查詢「張旭「教師任課的學生成績。
24、查詢選修某課程的同學人數多於5人的教師姓名。
25、查詢95033班和95031班全體學生的記錄。
26、 查詢存在有85分以上成績的課程cno.
27、查詢出「計算機系「教師所教課程的成績表。
28、查詢「計算機系」與「電子工程系「不同職稱的教師的tname和prof。
29、查詢選修編號為「3-105「課程且成績至少高於選修編號為「3-245」的同學的cno、sno和degree,並按degree從高到低次序排序。
30、查詢選修編號為「3-105」且成績高於選修編號為「3-245」課程的同學的cno、sno和degree.
31、 查詢所有教師和同學的name、***和birthday.
32、查詢所有「女」教師和「女」同學的name、***和birthday.
33、 查詢成績比該課程平均成績低的同學的成績表。
34、 查詢所有任課教師的tname和depart.
35 、 查詢所有未講課的教師的tname和depart.
36、查詢至少有2名男生的班號。
37、查詢student表中不姓「王」的同學記錄。
38、查詢student表中每個學生的姓名和年齡。
39、查詢student表中最大和最小的sbirthday日期值。
40、以班號和年齡從大到小的順序查詢student表中的全部記錄。
41、查詢「男」教師及其所上的課程。
42、查詢最高分同學的sno、cno和degree列。
43、查詢和「李軍」同性別的所有同學的sname.
44、查詢和「李軍」同性別並同班的同學sname.
45、查詢所有選修「計算機導論」課程的「男」同學的成績表。
資料庫練習題
1 檢視原始資料庫information schema中的表,並顯示出views表的字段結構屬性資訊 show databases use information schema desc views 2 建立乙個offcn資料庫,並建立乙個students表,欄位為id,name,age,phone...
資料庫練習題一
有關聯式資料庫 職工關係 employee 職工號eno,職工名ename 工作關係 works 職工號eno,公司號cno,工資wage 公司關係 company 公司號cno,公司名cname 假設職工可以在多個公司兼職,請用關係代數表示式寫出至少在公司號為 c2 和 c5 公司兼職的職工名。1...
資料庫練習題5
1 事務的原子性是指 a 事務中包括的所有操作要麼都做,要麼都不做 b 事務一旦提交,對資料庫的改變是永久的 c 乙個事務內部的操作及使用的資料對併發的其他事務是隔離的 d 事務必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態 2 事務的一致性是指 a 事務中包括的所有操作要麼都做,要麼都不做 b...