SQL題

創(chuàng)建數(shù)據(jù)庫(kù) exec
CREATE DATABASE exec;

創(chuàng)建學(xué)生表
CREATE TABLE student(
sno VARCHAR(3),
sname VARCHAR(10) NOT NULL,
ssex VARCHAR(3),
sbrithday DATETIME,
class VARCHAR(5) NOT NULL,
PRIMARY KEY(sno))
ENGINE=INNODB DEFAULT CHARSET=utf8;

創(chuàng)建課程表
CREATE TABLE course(
cno VARCHAR(10),
cname VARCHAR(30) NOT NULL,
tno VARCHAR(10) NOT NULL,
PRIMARY KEY(cno))
ENGINE=INNODB DEFAULT CHARSET=utf8;

創(chuàng)建成績(jī)表
CREATE TABLE grade(
sno VARCHAR(3),
cno VARCHAR(5),
degree TINYINT NOT NULL,
PRIMARY KEY(sno, cno))
ENGINE=INNODB DEFAULT CHARSET=utf8;

創(chuàng)建教師表
CREATE TABLE teacher(
tno VARCHAR(5),
tname VARCHAR(20) NOT NULL,
tsex VARCHAR(2),
tbrithday DATETIME,
prof VARCHAR(20) NOT NULL,
depart VARCHAR(30) NOT NULL,
PRIMARY KEY(tno))
ENGINE=INNODB DEFAULT CHARSET=utf8;

創(chuàng)建等級(jí)表
CREATE TABLE rank(
down TINYINT NOT NULL,
up TINYINT NOT NULL,
rank VARCHAR(2),
PRIMARY KEY(rank))
ENGINE=INNODB DEFAULT CHARSET=utf8;

插入學(xué)生信息
INSERT INTO student (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (108 ,'曾華' ,'男' ,'1977-09-01',95033);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (105 ,'匡明' ,'男' ,'1975-10-02',95031);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (107 ,'王麗' ,'女' ,'1976-01-23',95033);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (101 ,'李軍' ,'男' ,'1976-02-20',95033);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (109 ,'王芳' ,'女' ,'1975-02-10',95031);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (103 ,'陸君' ,'男' ,'1974-06-03',95031);

插入成績(jī)信息
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES ('103','3-245',86);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (105,'3-245',75);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (109,'3-245',68);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (103,'3-105',92);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (105,'3-105',88);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (109,'3-105',76);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (101,'3-105',64);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (107,'3-105',91);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (108,'3-105',78);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (101,'6-166',85);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (107,'6-106',79);
INSERT INTO GRADE(SNO,CNO,DEGREE)VALUES (108,'6-166',81);

插入等級(jí)信息
INSERT INTO rank(down,up,rank) VALUES(90,100,'A');
INSERT INTO rank(down,up,rank) VALUES(80,89,'B');
INSERT INTO rank(down,up,rank) VALUES(70,79,'C');
INSERT INTO rank(down,up,rank) VALUES(60,69,'D');
INSERT INTO rank(down,up,rank) VALUES(0,59,'E');

插入課程信息
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('3-105' ,'計(jì)算機(jī)導(dǎo)論', '825');
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('3-245' ,'操作系統(tǒng)' , '804');
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('6-166' ,'數(shù)據(jù)電路' , '856');
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('9-888' ,'高等數(shù)學(xué)' , '100');

1、 查詢Student表中的所有記錄的Sname、Ssex和Class列。
SELECT sname, ssex, class FROM student;

2、 查詢教師所有的單位即不重復(fù)的Depart列。
SELECT DISTINCT depart FROM teacher;

3、 查詢Student表的所有記錄。
SELECT * FROM student;

4、 查詢Grade表中成績(jī)?cè)?0到80之間的所有記錄。
SELECT * FROM grade WHERE degree BETWEEN 60 AND 80;

5、 查詢Grade表中成績(jī)?yōu)?5,86或88的記錄。
SELECT * FROM grade WHERE degree IN (85, 86, 88);

6、 查詢Student表中“95031”班或性別為“女”的同學(xué)記錄。
SELECT * FROM student WHERE class='95031' AND ssex='女';

7、 以Class降序查詢Student表的所有記錄。
SELECT * FROM student ORDER BY class DESC;

8、 以Cno升序、Degree降序查詢Grade表的所有記錄。
SELECT * FROM grade ORDER BY cno, degree DESC;

9、 查詢“95031”班的學(xué)生人數(shù)。
SELECT COUNT(class) FROM student WHERE class='95031';

10、查詢Grade表中的最高分的學(xué)生學(xué)號(hào)和課程號(hào)。
SELECT sno, cno FROM grade ORDER BY degree LIMIT 1;

11、查詢‘3-105’號(hào)課程的平均分。
SELECT AVG(degree) FROM grade WHERE cno='3-105';

12、查詢Grade表中至少有5名學(xué)生選修的并以3開頭的課程的平均分?jǐn)?shù)。
SELECT AVG(degree), COUNT(*) AS c FROM grade WHERE cno LIKE '3%' GROUP BY cno HAVING c>=5;

13、查詢最低分大于70,最高分小于90的Sno列。
SELECT sno FROM grade GROUP BY sno HAVING MIN(degree)>70 AND MAX(degree)<90;

14、查詢所有學(xué)生的Sname、Cno和Degree列。
SELECT student.sname, grade.cno, grade.degree FROM student JOIN grade ON student.sno=grade.sno;

15、查詢所有學(xué)生的Sno、Cname和Degree列。
SELECT student.sno,course.cname,grade.degree FROM student JOIN grade ON student.sno=grade.sno JOIN course ON grade.cno=course.cno;

16、查詢所有學(xué)生的Sname、Cname和Degree列。
SELECT student.sname, course.cname, grade.degree FROM student JOIN grade ON student.sno=grade.sno JOIN course ON grade.cno=course.cno;

17、查詢“95033”班所選課程的平均分。
SELECT AVG(degree) FROM grade JOIN student ON grade.sno=student.sno WHERE class='95033';

18、查詢選修課成績(jī)?yōu)锳等的學(xué)生信息
SELECT * FROM student JOIN grade ON student.sno=grade.sno GROUP BY degree HAVING MIN(degree)>=90 AND MAX(degree)<=100;

19、在grade表中查詢選修“3-105”課程的成績(jī)高于選修“3-105”并且學(xué)號(hào)為“109”的所有同學(xué)的記錄。
SELECT * FROM student JOIN grade ON student.sno=grade.sno WHERE grade.degree>(SELECT degree FROM grade WHERE grade.sno='109' AND grade.cno='3-105') AND grade.cno='3-105';

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1).創(chuàng)建數(shù)據(jù)庫(kù) create database學(xué)生選課數(shù)據(jù)庫(kù) 2).創(chuàng)建四張表 Create table Stu...
    blvftigd閱讀 1,683評(píng)論 0 0
  • 最近打算采用關(guān)系型數(shù)據(jù)庫(kù)來(lái)理一下公司的運(yùn)營(yíng)數(shù)據(jù),先拿點(diǎn)東西練手找感覺。下面是幾個(gè)關(guān)于學(xué)生課業(yè)的表,需要建立一個(gè)數(shù)據(jù)...
    九天朱雀閱讀 1,044評(píng)論 0 3
  • 1.學(xué)生表(student) create table student(sno varchar(3),sname ...
    曉曉的忍兒閱讀 581評(píng)論 0 1
  • 原文:https://www.cnblogs.com/aqxss/p/6563625.html 一、設(shè)有一數(shù)據(jù)庫(kù),...
    名門翹楚C閱讀 1,207評(píng)論 0 0
  • 一、已知有如下表,請(qǐng)用sql語(yǔ)句在mysql里建立相應(yīng)的表 表1 學(xué)生表(student) 表2 課程表(cou...
    HavenYoung閱讀 1,393評(píng)論 0 0

友情鏈接更多精彩內(nèi)容