|
@@ -662,6 +662,9 @@ WHERE dep.DepName = '网络技术系'
|
|
|
|
|
|
|
|
|
|
|
|
+CREATE DATABASE IF NOT EXISTS test_student;
|
|
|
+
|
|
|
+USE test_student;
|
|
|
|
|
|
|
|
|
|
|
@@ -695,19 +698,102 @@ WHERE dep.DepName = '网络技术系'
|
|
|
CoCo 病假
|
|
|
LILY 事假
|
|
|
*/
|
|
|
+
|
|
|
+CREATE TABLE classes(
|
|
|
+major VARCHAR(20) NOT NULL,
|
|
|
+class VARCHAR(10) NOT NULL,
|
|
|
+sname VARCHAR(10) NOT NULL,
|
|
|
+sex CHAR(1) DEFAULT '男',
|
|
|
+seat INT UNIQUE NOT NULL
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+CREATE TABLE score(
|
|
|
+sname VARCHAR(10) NOT NULL,
|
|
|
+english INT NOT NULL,
|
|
|
+math INT NOT NULL,
|
|
|
+chinese INT NOT NULL
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+CREATE TABLE records(
|
|
|
+sname VARCHAR(10) NOT NULL,
|
|
|
+record VARCHAR(10)
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+INSERT INTO classes VALUES
|
|
|
+('计算机网络','1班','张三',DEFAULT,8),
|
|
|
+('软件工程','2班','李四',DEFAULT,12),
|
|
|
+('计算机维护','1班','王五','男',9),
|
|
|
+('计算机网络','2班','LILY','女',15),
|
|
|
+('软件工程','1班','小强',DEFAULT,20),
|
|
|
+('计算机维护','1班','CoCo','女',18);
|
|
|
+
|
|
|
+SELECT * FROM classes;
|
|
|
+
|
|
|
+
|
|
|
+INSERT INTO score VALUES
|
|
|
+('张三',65,75,98),
|
|
|
+('李四',87,45,86),
|
|
|
+('王五',98,86,65),
|
|
|
+('LILY',75,86,87),
|
|
|
+('小强',85,60,58),
|
|
|
+('Coco',96,87,70);
|
|
|
+
|
|
|
+SELECT *FROM score;
|
|
|
+
|
|
|
+
|
|
|
+INSERT INTO records VALUES
|
|
|
+('小强','迟到'),
|
|
|
+('小强','事假'),
|
|
|
+('李四','旷课'),
|
|
|
+('李四','旷课'),
|
|
|
+('李四','迟到'),
|
|
|
+('Coco','病假'),
|
|
|
+('LILY','事假');
|
|
|
+
|
|
|
+SELECT * FROM records;
|
|
|
|
|
|
|
|
|
+UPDATE score
|
|
|
+SET chinese = 88
|
|
|
+WHERE sname = '张三';
|
|
|
|
|
|
|
|
|
+
|
|
|
+SELECT major,class,AVG(english),AVG(math),AVG(chinese)
|
|
|
+FROM score JOIN classes
|
|
|
+GROUP BY major,class
|
|
|
+HAVING major = '计算机维护' AND class = '1班'
|
|
|
+
|
|
|
+
|
|
|
+SELECT AVG(english),AVG(math),AVG(chinese)
|
|
|
+FROM score
|
|
|
+WHERE sname IN (SELECT sname
|
|
|
+ FROM classes
|
|
|
+ WHERE major = '计算机维护' AND class = '1班');
|
|
|
|
|
|
|
|
|
+SELECT sname
|
|
|
+FROM score
|
|
|
+WHERE english < 60 OR math < 60 OR chinese <60;
|
|
|
|
|
|
|
|
|
+SELECT score.*
|
|
|
+FROM score JOIN (SELECT sname,COUNT(*)
|
|
|
+ FROM records
|
|
|
+ GROUP BY sname
|
|
|
+ HAVING COUNT(*) >= 2) temp
|
|
|
+ON score.sname = temp.sname;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+CREATE DATABASE IF NOT EXISTS test_xuankedb;
|
|
|
+
|
|
|
+USE test_xuankedb;
|
|
|
|
|
|
|
|
|
|
|
@@ -721,24 +807,86 @@ WHERE dep.DepName = '网络技术系'
|
|
|
(Sno,Cno)为关键字。
|
|
|
*/
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS student(
|
|
|
+sno INT PRIMARY KEY,
|
|
|
+sname VARCHAR(20) NOT NULL,
|
|
|
+ssex CHAR(1) NOT NULL,
|
|
|
+sage INT NOT NULL,
|
|
|
+sdept VARCHAR(40) NOT NULL
|
|
|
+);
|
|
|
+
|
|
|
+DESC student;
|
|
|
+
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS course(
|
|
|
+cno INT PRIMARY KEY,
|
|
|
+cname VARCHAR(20) NOT NULL,
|
|
|
+cpno VARCHAR(40),
|
|
|
+ccredit INT
|
|
|
+);
|
|
|
+
|
|
|
+DESC course;
|
|
|
+
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS sg(
|
|
|
+sno INT,
|
|
|
+cno INT,
|
|
|
+grade INT,
|
|
|
+PRIMARY KEY(sno,cno),
|
|
|
+CONSTRAINT fk_s_stu_sno FOREIGN KEY(sno) REFERENCES student(sno),
|
|
|
+CONSTRAINT fk_s_cou_sno FOREIGN KEY(cno) REFERENCES course(cno)
|
|
|
+);
|
|
|
+
|
|
|
+DESC sg;
|
|
|
+
|
|
|
+
|
|
|
+ALTER TABLE student
|
|
|
+ADD scome DATE;
|
|
|
|
|
|
|
|
|
+SELECT sno,grade
|
|
|
+FROM sg
|
|
|
+WHERE cno = 3
|
|
|
+ORDER BY grade DESC;
|
|
|
|
|
|
|
|
|
+SELECT MAX(grade),AVG(grade)
|
|
|
+FROM sg
|
|
|
+WHERE cno = 1;
|
|
|
|
|
|
|
|
|
+SELECT *
|
|
|
+FROM student
|
|
|
+WHERE sdept = (SELECT dept
|
|
|
+ FROM student
|
|
|
+ WHERE sname = '李洋'
|
|
|
+ );
|
|
|
|
|
|
|
|
|
+UPDATE sg
|
|
|
+set grade = 0
|
|
|
+WHERE sno IN (SELECT sno
|
|
|
+ FROM student
|
|
|
+ WHERE sdept = '计算机系');
|
|
|
|
|
|
|
|
|
+DELETE FROM student
|
|
|
+WHERE sno = 05019
|
|
|
|
|
|
|
|
|
+DELETE FROM sg
|
|
|
+WHERE sno IN (SELECT sno
|
|
|
+ FROM student
|
|
|
+ WHERE dept = '计算机系');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+CREATE DATABASE IF NOT EXISTS test_library;
|
|
|
+
|
|
|
+USE test_library;
|
|
|
|
|
|
|
|
|
|
|
@@ -751,7 +899,34 @@ WHERE dep.DepName = '网络技术系'
|
|
|
种类bsortno(int)、出版社编号pressid(int)
|
|
|
*/
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+CREATE TABLE press(
|
|
|
+pressid INT PRIMARY KEY,
|
|
|
+pressname VARCHAR(30),
|
|
|
+address VARCHAR(50)
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+CREATE TABLE sort(
|
|
|
+sortno INT PRIMARY KEY,
|
|
|
+scount INT
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+CREATE TABLE book(
|
|
|
+bid INT PRIMARY KEY,
|
|
|
+bname VARCHAR(20),
|
|
|
+bsortno INT,
|
|
|
+pressid INT,
|
|
|
+CONSTRAINT fk_p_b_pid FOREIGN KEY(pressid) REFERENCES press(pressid),
|
|
|
+CONSTRAINT fk_s_b_sno FOREIGN KEY(bsortno) REFERENCES sort(sortno)
|
|
|
+);
|
|
|
+
|
|
|
+
|
|
|
+ALTER TABLE sort
|
|
|
+ADD describes VARCHAR(30);
|
|
|
+
|
|
|
+DESC sort;
|
|
|
|
|
|
|
|
|
|
|
@@ -770,24 +945,88 @@ WHERE dep.DepName = '网络技术系'
|
|
|
*/
|
|
|
|
|
|
|
|
|
- bid bname bsortno pressid
|
|
|
- 1 红与黑 11 100
|
|
|
- 2 幻城 12 102
|
|
|
- 3 希腊神话 13 102
|
|
|
+ bid bname bsortno pressid
|
|
|
+ 1 红与黑 11 100
|
|
|
+ 2 幻城 12 102
|
|
|
+ 3 希腊神话 13 102
|
|
|
+ 4 一千零一夜 13 102
|
|
|
*/
|
|
|
|
|
|
+
|
|
|
+INSERT INTO press VALUES
|
|
|
+(100,'外研社','上海'),
|
|
|
+(101,'北大出版社','北京'),
|
|
|
+(102,'教育出版社','北京');
|
|
|
+
|
|
|
+
|
|
|
+INSERT INTO sort VALUES
|
|
|
+(11,50,'小说'),
|
|
|
+(12,300,'科幻'),
|
|
|
+(13,100,'神话');
|
|
|
+
|
|
|
+
|
|
|
+INSERT INTO book VALUES
|
|
|
+(1,'红与黑',11,100),
|
|
|
+(2,'幻城',12,102),
|
|
|
+(3,'希腊神话',13,102),
|
|
|
+(4,'一千零一夜',13,102);
|
|
|
+
|
|
|
|
|
|
+SELECT * FROM press;
|
|
|
+SELECT * FROM sort;
|
|
|
+SELECT * FROM book;
|
|
|
+
|
|
|
+SELECT *
|
|
|
+FROM book
|
|
|
+WHERE pressid = 100;
|
|
|
|
|
|
|
|
|
+SELECT *
|
|
|
+FROM book
|
|
|
+WHERE pressid = (
|
|
|
+ SELECT pressid
|
|
|
+ FROM press
|
|
|
+ WHERE pressname = '外研社'
|
|
|
+ );
|
|
|
|
|
|
|
|
|
+SELECT *
|
|
|
+FROM sort
|
|
|
+WHERE scount > 100;
|
|
|
|
|
|
|
|
|
+
|
|
|
+SELECT *
|
|
|
+FROM press
|
|
|
+WHERE pressid = (
|
|
|
+ SELECT pressid
|
|
|
+ FROM book
|
|
|
+ GROUP BY bsortno
|
|
|
+ ORDER BY count(*) DESC
|
|
|
+ LIMIT 0,1
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+SELECT * FROM press WHERE pressid=(
|
|
|
+ SELECT temp.pressid FROM
|
|
|
+ (SELECT pressid,MAX(t,c) FROM (SELECT pressid,COUNT(*) AS c FROM book GROUP BY pressid ORDER BY c DESC) AS t) AS temp);
|
|
|
+
|
|
|
+
|
|
|
+SELECT * FROM press WHERE pressid = (
|
|
|
+SELECT pressid
|
|
|
+FROM (SELECT pressid,bsortno FROM book GROUP BY pressid,bsortno) temp
|
|
|
+GROUP BY pressid
|
|
|
+ORDER BY COUNT(*) DESC
|
|
|
+LIMIT 0,1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+CREATE DATABASE IF NOT EXISTS test_tour;
|
|
|
+
|
|
|
+USE test_tour;
|
|
|
|
|
|
|
|
|
|
|
@@ -809,6 +1048,29 @@ WHERE dep.DepName = '网络技术系'
|
|
|
Count 报名人数 INT YES
|
|
|
*/
|
|
|
|
|
|
+
|
|
|
+CREATE TABLE agency(
|
|
|
+id INT PRIMARY KEY,
|
|
|
+`name` VARCHAR(20) NOT NULL,
|
|
|
+address VARCHAR(100) NOT NULL,
|
|
|
+areaid INT
|
|
|
+);
|
|
|
+
|
|
|
+DESC agency;
|
|
|
+
|
|
|
+
|
|
|
+CREATE TABLE travel(
|
|
|
+tid INT PRIMARY KEY,
|
|
|
+time VARCHAR(50) NOT NULL,
|
|
|
+`position` VARCHAR(100) NOT NULL,
|
|
|
+money FLOAT,
|
|
|
+aid INT NOT NULL,
|
|
|
+count INT,
|
|
|
+CONSTRAINT fk_tr_aid FOREIGN KEY travel(aid) REFERENCES agency(id)
|
|
|
+);
|
|
|
+
|
|
|
+DESC travel;
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -824,29 +1086,144 @@ WHERE dep.DepName = '网络技术系'
|
|
|
3 8天 水长城 6000 102 11
|
|
|
*/
|
|
|
|
|
|
+
|
|
|
+INSERT INTO agency(id,`name`,address) VALUES
|
|
|
+(101,'青年旅行社','北京海淀'),
|
|
|
+(102,'天天旅行社','天津海院');
|
|
|
+
|
|
|
+SELECT * FROM agency;
|
|
|
+
|
|
|
+
|
|
|
+INSERT INTO travel VALUES
|
|
|
+(1,'5天','八达岭',3000,101,10),
|
|
|
+(2,'7天','水长城',5000,101,14),
|
|
|
+(3,'8天','水长城',6000,102,11);
|
|
|
+
|
|
|
+SELECT * FROM travel;
|
|
|
+
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+SELECT aid,COUNT(*) AS c
|
|
|
+FROM travel
|
|
|
+GROUP BY aid
|
|
|
+
|
|
|
+
|
|
|
+SELECT MAX(new.c),new.aid
|
|
|
+FROM (
|
|
|
+ SELECT aid,COUNT(*) AS c
|
|
|
+ FROM travel
|
|
|
+ GROUP BY aid
|
|
|
+ ) AS new
|
|
|
+
|
|
|
+
|
|
|
+SELECT maxsheet.aid
|
|
|
+FROM (SELECT MAX(new.c),new.aid
|
|
|
+ FROM (
|
|
|
+ SELECT aid,COUNT(*) AS c
|
|
|
+ FROM travel
|
|
|
+ GROUP BY aid
|
|
|
+ ) AS new
|
|
|
+ ) as maxsheet;
|
|
|
+
|
|
|
+
|
|
|
+SELECT *
|
|
|
+FROM agency
|
|
|
+WHERE id = (SELECT maxsheet.aid
|
|
|
+ FROM (SELECT MAX(new.c),new.aid
|
|
|
+ FROM (
|
|
|
+ SELECT aid,COUNT(*) AS c
|
|
|
+ FROM travel
|
|
|
+ GROUP BY aid
|
|
|
+ ) AS new
|
|
|
+ ) as maxsheet
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+SELECT *
|
|
|
+FROM agency INNER JOIN (SELECT t.aid,MAX(t.c) FROM (SELECT aid,COUNT(*) AS c FROM travel GROUP BY aid) AS t) temp
|
|
|
+ON agency.id = temp.aid;
|
|
|
|
|
|
|
|
|
+
|
|
|
+SELECT *
|
|
|
+FROM travel
|
|
|
+ORDER BY count DESC
|
|
|
+LIMIT 0,1;
|
|
|
+
|
|
|
+
|
|
|
+SELECT *
|
|
|
+FROM travel
|
|
|
+WHERE count = (
|
|
|
+ SELECT MAX(count)
|
|
|
+ FROM travel
|
|
|
+ );
|
|
|
|
|
|
|
|
|
+SELECT *
|
|
|
+FROM travel
|
|
|
+WHERE money < 5000;
|
|
|
|
|
|
|
|
|
+
|
|
|
+SELECT MAX(money)
|
|
|
+FROM travel;
|
|
|
+
|
|
|
+
|
|
|
+SELECT aid
|
|
|
+FROM travel
|
|
|
+WHERE money = (
|
|
|
+ SELECT MAX(money)
|
|
|
+ FROM travel
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+SELECT name
|
|
|
+FROM agency
|
|
|
+WHERE id = (
|
|
|
+ SELECT aid
|
|
|
+ FROM travel
|
|
|
+ WHERE money = (
|
|
|
+ SELECT MAX(money)
|
|
|
+ FROM travel
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+SELECT name
|
|
|
+FROM agency
|
|
|
+WHERE id = (
|
|
|
+ SELECT aid
|
|
|
+ FROM travel
|
|
|
+ WHERE money = (
|
|
|
+ SELECT MAX(money)
|
|
|
+ FROM travel
|
|
|
+ )
|
|
|
+ );
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+SELECT id
|
|
|
+FROM agency
|
|
|
+WHERE name = '青年旅行社';
|
|
|
+
|
|
|
+
|
|
|
+SELECT SUM(time)
|
|
|
+FROM travel
|
|
|
+WHERE aid = (
|
|
|
+ SELECT id
|
|
|
+ FROM agency
|
|
|
+ WHERE name = '青年旅行社'
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+SELECT SUM(time)
|
|
|
+FROM travel
|
|
|
+WHERE aid = (
|
|
|
+ SELECT id
|
|
|
+ FROM agency
|
|
|
+ WHERE name = '青年旅行社'
|
|
|
+ );
|
|
|
|
|
|
|
|
|
|