資料庫SQL練習

2023-01-15 21:48:05 字數 4769 閱讀 2105

建立學生student表

sno學號(主鍵3

sname姓名8

s***性別2

sbirthday生日

class班級5

建立課程course表

cno 課程號(主鍵) 5

cname課程名10

tno教師號3

建立分數score表

sno 學號3

cno課程號5

degree分數

建立老師teacher表

tno編號(主鍵3

tname姓名8

tbirthday生日

depart院系10

--建立表和輸入資料

--建立學生student表

create table student

(sno varchar(3) not null,

sname varchar(4) not null,

s*** varchar(2) not null,

sbirthday date,

class varchar(5))

--建立課程course表

create table course

(cno varchar(5) not null,

cname varchar(10) not null,

tno varchar(10) not null)

--建立分數score表

create table score

(sno varchar(3) not null,

cno varchar(5) not null,

degree numeric(10, 1) not null)

--建立老師teacher表

create table teacher

(tno varchar(3) not null,

tname varchar(4) not null, t*** varchar(2) not null,

tbirthday date not null, prof varchar(6),

depart varchar(10) not null)

--時間格式:03-12月-81

--初始化學生student表

insert into student(sno,sname,s***,sbirthday,class) values('108','曾華','男','01-9月-1977','95033');

insert into student (sno,sname,s***,sbirthday,class) values ('105' ,'匡明' ,'男' ,'02-10月-1975','95031');

insert into student (sno,sname,s***,sbirthday,class) values ('107' ,'王麗' ,'女' , '23-1月-1976','95033');

insert into student (sno,sname,s***,sbirthday,class) values ('101' ,'李軍' ,'男' , '20-2月-1976','95033');

insert into student (sno,sname,s***,sbirthday,class) values ('109' ,'王芳' ,'女' , '10-2月-1975','95031');

insert into student (sno,sname,s***,sbirthday,class) values ('103' ,'陸君' ,'男' , '03-6月-1974','95031');

--初始化課程course表

insert into course(cno,cname,tno)values ('3-105' ,'計算機導論','825');

insert into course(cno,cname,tno)values ('3-245' ,'作業系統' ,'804');

insert into course(cno,cname,tno)values ('6-166' ,'資料電路' ,'856');

insert into course(cno,cname,tno)values ('9-888' ,'高等數學' ,'100');

--初始化分數score表

insert into score(sno,cno,degree)values ('103','3-245',86);

insert into score(sno,cno,degree)values ('105','3-245',75);

insert into score(sno,cno,degree)values ('109','3-245',68);

insert into score(sno,cno,degree)values ('103','3-105',92);

insert into score(sno,cno,degree)values ('105','3-105',88);

insert into score(sno,cno,degree)values ('109','3-105',76);

insert into score(sno,cno,degree)values ('101','3-105',64);

insert into score(sno,cno,degree)values ('107','3-105',91);

insert into score(sno,cno,degree)values ('108','3-105',78);

insert into score(sno,cno,degree)values ('101','6-166',85);

insert into score(sno,cno,degree)values ('107','6-106',79);

insert into score(sno,cno,degree)values ('108','6-166',81);

--初始化老師teacher表

insert into teacher(tno,tname,t***,tbirthday,prof,depart)

values ('804','李誠','男','02-12月-1958','副教授','計算機系');

insert into teacher(tno,tname,t***,tbirthday,prof,depart)

values ('856','張旭','男','03-12月-1969','講師','電子工程系');

insert into teacher(tno,tname,t***,tbirthday,prof,depart)

values ('856','張旭','男','03-12月-1969','講師','電子工程系');

insert into teacher(tno,tname,t***,tbirthday,prof,depart)

values ('831','劉冰','女','14-8月-1977','助教','電子工程系')

練習題目

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、查詢『3-105』號課程的平均分。

12、查詢score表中至少有5名學生選修的並以3開頭的課程的平均分數。

13、查詢最低分大於70,最高分小於90的sno列。

14、查詢所有學生的sname、cno和degree列。

15、查詢所有學生的sno、cname和degree列。

16、查詢所有學生的sname、cname和degree列。

17、查詢「95033」班所選課程的平均分。

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.

Sql資料庫命名規則

資料庫涉及字元規則 採用26個英文本母 區分大小寫 和0 9這十個自然數,加上下劃線 組成,共63個字元。不能出現其他字元 注釋除外 資料庫物件命名規則 資料庫物件包括表 檢視 查詢 儲存過程 引數查詢 函式 約束。物件名字由字首和實際名字組成,長度不超過30。字首 使用小寫字母。例如 實際名字 實...

oracle資料庫設計sql檔案

步驟 第 一 建立使用者 第 二 建立表 第 三 儲存為指令碼 仿照scott指令碼檔案格式 第 四 實現隨機查詢。要求 1 使用define命令 2 使用prompt命令 2 地鐵運營資料庫 總表 3路地鐵,濟南 長清 濟南 章丘 濟南繞城 編號 唯一性約束 起止地點 起止時間 站點數量 發車間隔...

資料庫sql高階查詢教務 答案

設教學資料庫education有三個關係 學生關係s sno,sname,age,sdept 學習關係sc sno,cno,grade 課程關係c cno,cname,cdept,tname 查詢問題 1 查所有年齡在20歲以下的學生姓名及年齡。2 查考試成績有不及格的學生的學號 3 查所年齡在20...