mysql綜合性練習

題目描述

設定有一個數據庫,裏面有4張表:mysql

  • 學生表(student)
  • 課程表(course)
  • 成績表(score)
  • 教師信息表(teacher)

表結構以下:sql

表一_學生表(student)

屬性名 數據類型 含 義
sno int 學號(主鍵)
sname varchar 學生姓名
ssex varchar 學生性別
sbirthday date 學生出生年月
classid varchar 學生所在班級

 

表二_課程表(course)

 

屬性名 數據類型 含 義
cno varchar 課程號(主鍵)
cname varchar 課程名稱
tno int 教師編號(外鍵)

表三_成績表(score)

屬性名 數據類型 含 義
sno int 學號(外鍵)
cno varchar 課程號(外鍵)
sdegree float 成績

表四_教師表(teacher)

屬性名 數據類型 含 義
tno int 編號(主鍵)
tname varchar 教師姓名
tsex varchar 教師性別
tbirthday date 教師出生年月
professional varchar 職稱
department varchar 教師所在部門

2、建立數據庫和表

先建立數據庫mysql_test,而且設置這個數據庫的編碼字符集爲utf-8。數據庫

 

 學生表:函數

create table student(
    sno  int(10),
    sname varchar(10),
    ssex varchar(10),
    sbirthday date,
    classid varchar(10)
);

alter table student add primary key(sno);

 

 教師表:編碼

create table teacher(
    tno int(10),
    tname varchar(12),
    tsex varchar(10),
    tbirthday date,
    professional varchar(20),
    department varchar(20)
);

alter table teacher add primary key(tno);

 

課程表:spa

create table course(
    cno varchar(10),
    cname varchar(20),
    tno int(10)
);

alter table course add primary key(cno);
alter table course add constraint fk_course_teacher foreign key(tno) references teacher(tno); 

 

成績表:操作系統

create table score(
    sno int(10),
    cno varchar(10),
    sdegree float(5)
);

alter table score add constraint fk_score_student foreign key(sno) references student(sno);
alter table score add constraint fk_score_course foreign key(cno) references course(cno);

 

3、添加數據

insert into student (sno,sname,ssex,sbirthday,classid) 
values(108,'曾華','','1996-9-1','95033'),(105,'匡明','','1995-10-2','95031'),
(107,'王麗','','1996-1-23','95033'),(101,'李軍','','1996-2-20','95033'),
(109,'王芳','','1995-2-10','95031'),(103,'陸君','','1994-6-3','95031');


insert into teacher(tno,tname,tsex,tbirthday,professional,department) 
values(804,'李誠','','1978-12-2','副教授','計算機系'),
(856,'張旭','','1979-3-12','講師','電子工程系'),
(825,'王萍','','1982-5-5','助教','計算機系'),
(831,'劉冰','','1984-8-14','助教','電子工程系');


insert into course(cno,cname,tno) 
values('3-105','計算機導論',825),('3-245','操做系統',804),
('6-166','數字電路',856),('9-888','高等數學',831);


insert into score(sno,cno,sdegree) values
(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);

學生表:3d

 

教師表:code

 

 課程表:blog

 

 

 成績表:

4、SQL題目

一、查詢全部學生的姓名,性別及班級編號

 

 

 二、查詢教師全部的部門名稱(即不重複的DEPART列)

三、查詢student表的全部記錄

 

 四、查詢score表中成績在60到80之間的全部記錄

 

 五、查詢score表中成績爲85,86或88的記錄

 

 六、查詢student表中班級編號爲"95031"或性別爲"女"的同窗記錄

 

 七、查詢student表的全部記錄,以班級編號降序排列

 

 八、查詢score表的全部記錄,先按照cno升序排列,若相同則按照sdegree降序排列

 

 九、查詢班級編號爲"95031"班級的學生人數

 

 十、查詢score表中的最高分的學生學號和課程號

 

 十一、查詢編號爲"3-105"的課程平均分

 

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

 

 1三、查詢每科成績均在70到90之間的學生編號

 注意:having 後面只能跟聚合函數,如avg、min、max、sum等聚合函數

 1四、查詢全部學生的姓名,所選課程編號和成績

 

 

 1五、查詢全部學生的學號,所選課程名和成績

 

 

 1六、查詢全部學生的姓名,所選課程名和成績

 

 

 1七、查詢"95033"班同窗所選每一個課程的平均分

 

 

 1八、假設使用以下命令創建了一個GRADE表:

CREATE TABLE GRADE(
LOW INT(3),
UPP INT(3),
RANK VARCHAR(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');

– 現查詢全部同窗的學號,所選課程號和等級(RANK列)

 

 1九、查詢"3-105"課程的成績高於學號爲109同窗這科成績的全部同窗記錄

 

 20、查詢1995年以後出生的全部學生所選學的課程名及成績

 

 

 

 2一、查詢與學號108同窗同年出生的全部學生的學號,姓名和生日

 

 

 2二、查詢"張旭"教師任課的學生成績

 

 

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

 

 

 2四、查詢"95033"班和"95031"班全體學生的記錄

 

 

 2五、查詢存在有85分以上成績的課程編號

 

 

 2六、查詢出"計算機系"教師所教課程每一科成績的平均分

 

 

 2七、查詢"計算機系"與"電子工程系"不一樣職稱的教師的姓名和職稱

 

 

2八、查詢全部教師和同窗的姓名,性別和生日

 

 

 2九、查詢全部"女"教師和"女"同窗的姓名,性別和生日

 

 

 30、查詢全部任課教師的姓名和部門

 

 

 3一、查詢全部未講課的教師的姓名和部門

 

 

 3二、查詢student表中不姓"王"的同窗記錄

 

 

 3三、查詢student表中每一個學生的姓名和年齡

 

 

 3四、查詢student表中最大和最小的生日值

 

 

 3五、查詢student表中的所有記錄,按照班級編號降序排列,班級編號若相同則按照生日降序排列

 

 

 3六、查詢全部"男"教師及其所上的課程名稱

 

 

 3七、查詢和"李軍"同性別並同班的同窗信息

 

 

 3八、查詢全部選修"計算機導論"課程的"男"同窗的成績表

 

 

 3九、查詢出同時選擇"3-245"和"3-105"的課程的學生信息

 

 

 

40、查詢既沒有選修"3-245"課程也沒有選修"3-105"課程的學生信息

相關文章
相關標籤/搜索