SQL強化練習(面試與學習必備)

1、經典選課題A

1.一、請同時使用GUI手動與SQL指令的形式建立數據庫、表並添加數據。

題目:設有一數據庫,包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師信息表(Teacher)。四個表的結構分別如表1-1的表(一)~表(四)所示,數據如表1-2的表(一)~表(四)所示。用SQL語句建立四個表並完成相關題目。html

1-1數據庫的表結構sql

表(一)Student (學生表)                        數據庫

屬性名學習

數據類型spa

能否爲空操作系統

含 義code

Snohtm

Char(3)blog

排序

學號(主碼)

Sname

Char(8)

學生姓名

Ssex

Char(2)

學生性別

Sbirthday

datetime

學生出生年月

Class

Char(5)

學生所在班級

表(二)Course(課程表)

屬性名

數據類型

能否爲空

含 義

Cno

Char(5)

課程號(主碼)

Cname

Varchar(10)

課程名稱

Tno

Char(3)

教工編號(外碼)

表(三)Score(成績表)

屬性名

數據類型

能否爲空

含 義

Sno

Char(3)

學號(外碼)

Cno

Char(5)

課程號(外碼)

Degree

Decimal(4,1)

成績

主碼:Sno+ Cno

表(四)Teacher(教師表)

屬性名

數據類型

能否爲空

含 義

Tno

Char(3)

教工編號(主碼)

Tname

Char(4)

教工姓名

Tsex

Char(2)

教工性別

Tbirthday

datetime

教工出生年月

Prof

Char(6)

職稱

Depart

Varchar(10)

教工所在部門

1-2數據庫中的數據

表(一)Student

Sno

Sname

Ssex

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

Cno

Cname

Tno

3-105

計算機導論

825

3-245

操做系統

804

6-166

數字電路

856

9-888

高等數學

831

表(三)Score

Sno

Cno

Degree

103

3-245

86

105

3-245

75

109

3-245

68

103

3-105

92

105

3-105

88

109

3-105

76

101

3-105

64

107

3-105

91

108

3-105

78

101

6-166

85

107

6-166

79

108

6-166

81

表(四)Teacher

Tno

Tname

Tsex

Tbirthday

Prof

Depart

804

李誠

1958-12-02

副教授

計算機系

856

張旭

1969-03-12

講師

電子工程系

825

王萍

1972-05-05

助教

計算機系

831

劉冰

1977-08-14

助教

電子工程系

 

1.二、完成下列的查詢,請保存sql與查詢結果到word文檔中

1、 查詢Student表中的全部記錄的Sname、Ssex和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、查詢每門課的平均成績,要按照課程分組group by,而後求沒門課平均avg

12、查詢Score表中至少有5名學生選修的並以3開頭的課程的平均分數。
Like模糊查詢 3%以3開頭 having只能跟在group by 後面

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」的成m績的全部記錄。

22、查詢和學號爲108的同窗同年出生的全部學生的Sno、Sname和Sbirthday列。

23、查詢「張旭「教師任的學生成績。

24、查詢選修某課程的同窗人數多於5人的教師姓名。

25、查詢95033班和95031班全體學生的記錄。

26、 查詢存在有85分以上成績的課程Cno.

27、查詢出「計算機系「教師所教課程的成績表。

28、查詢「計算機系」與「電子工程系「不一樣職稱的教師的Tname和Prof。

29、查詢選修編號爲「3-105「課程且成績至少高於選修編號爲「3-245」的同

30、查詢選修編號爲「3-105」且成績高於選修編號爲「3-245」課程的同窗的Cno、Sno和Degree. ?

31、 查詢全部教師和同窗的name、sex和birthday.

32、查詢全部「女」教師和「女」同窗的name、sex和birthday.

33、 查詢成績比該課程平均成績低的同窗的成績表。

34、查詢全部任課教師的Tname和Depart.

35 、查詢全部未講課的教師的Tname和Depart.

36、查詢至少有2名男生的班號。

37.查詢不姓王的同窗信息

38、查詢Student表中每一個學生的姓名和年齡。

39、查詢Student表中最大和最小的Sbirthday日期值。

40、以班號和年齡從大到小的順序查詢Student表中的所有記錄。

41、查詢「男」教師及其所上的課程。

42、查詢最高分同窗的Sno、Cno和Degree列。

45、查詢全部選修「計算機導論」課程的「男」同窗的成績表。

43、查詢和「李軍」同性別的全部同窗的Sname.

44、查詢和「李軍」同性別並同班的同窗Sname.

45、查詢全部選修「計算機導論」課程的「男」同窗的成績表。

2、答案與學習資料

1.2答案  (密碼是sql)(佈置給學生的課後做業)

MySQL基礎學習

相關文章
相關標籤/搜索