diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230214 \350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" "b/18 \351\231\210\351\233\205\345\251\267/20230214 \350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" new file mode 100644 index 0000000000000000000000000000000000000000..80796c07530b3be3c5ab8be480d42c4066925d0c --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230214 \350\256\244\350\257\206\346\225\260\346\215\256\345\272\223.md" @@ -0,0 +1,12 @@ +## 1.笔记(第一次课) + +1.数据库常用概念:数据库(database) 数据库管理系统:DBMS + +2.MYSQL是一种软件是关系数据库管理系统之一。 + +3.SQL:标准化查询语言 + +4.DBMS分类:(1)关系型数据库 (2)非关系型数据库 + +5.什么是数据库管理系统? 答:是一种操纵和管理数据库的大型软件。 + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230217 mysql\347\232\204\345\237\272\346\234\254\350\257\255\346\263\225\345\222\214\346\223\215\344\275\234.md" "b/18 \351\231\210\351\233\205\345\251\267/20230217 mysql\347\232\204\345\237\272\346\234\254\350\257\255\346\263\225\345\222\214\346\223\215\344\275\234.md" new file mode 100644 index 0000000000000000000000000000000000000000..61839b4914b265cbb4b910c2f7e169e87cd84669 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230217 mysql\347\232\204\345\237\272\346\234\254\350\257\255\346\263\225\345\222\214\346\223\215\344\275\234.md" @@ -0,0 +1,69 @@ +# 1.笔记 + +1.操作部分:(1)数据名称 (2)表名称 (3)列名称 + + 以上的123属于数据库的结构,也是定义一个数据库。 (先有结构,后有数据。) + +2.操作结构的动作:创建、修改、删除。 共占20% + +3.数据操作的部分(DML):1.新增一条数据库 2.修改数据 3.删除 共占30% + +4.DQL:数据查询语言 主要查询 共占50% + +5.MySQL双引号等于单引号 + +6.if not exists 如果不存在 [ ]在语法中表示可选项 + +7.数据表和列(字段)是一个整体不能分开 + +8.单精度浮点数float(4,2)4表示小数的总长度,2表示两位小数的长度,当小数超出范围会自动截断并四舍五入,小数不足0补齐。 双精度浮点数:double int整数默认显示宽度11 + +int(5)zerofill 这里5表示不足五位用0补足5位与允许长度无关。 + +小数中的定点型decimal默认(10,0) + +字符串:(1)固定长度char (2)varchar(m)限制长度 + +```mysql +9.INSERT INTO +名字()value() 插入内容 +``` + +```mysql +10.alter database 表名 charset utf8 修改字符集 +``` + + + + + +# 2.作业 + +数据库class3 +表student +字段:学号,姓名,性别,爱好,住址,联系方式,邮箱,QQ号 +并新增一条自己的记录。 + +```MY +CREATE DATABASE class3; +ALTER DATABASE class3 charset utf8; +USE class3; +CREATE TABLE student( +id int, +`NAME` VARCHAR(5), +gender enum('女','男'), +hobby SET('运动','学习','看书','练字'), +`ADD` VARCHAR(20), +phone char(11), +emical VARCHAR(20), +QQ char(10) +); +INSERT INTO student(id,`name`,gender,hobby,`ADD`,phone,emical,QQ)VALUES(18,'小陈','女','学习','学校',15750900310,'1754342529@qq.com',1754342529); +SELECT * FROM student; +``` + + + + + + + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230218 DDL\345\222\214DML\345\255\246\344\271\240.md" "b/18 \351\231\210\351\233\205\345\251\267/20230218 DDL\345\222\214DML\345\255\246\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..35bf05a9f45877abd94e0f09ddb46d8af7fe16e5 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230218 DDL\345\222\214DML\345\255\246\344\271\240.md" @@ -0,0 +1,171 @@ +# 1.笔记 + +1.MySQL的语法:(1)不分大小写(2)以;结束 (3)不能用SQL语句的关键做名称 (4)`新符号 (5)数值型不加引号,直接使用 (6)同一数据库管理软件不要出现库名/表名重复 (7)字段属性unsigned无符号表正数 (8)注释 + +2.desc +名称 (查看表格) + +#### 2.DDL语句 + +if exits 判断是否存在 + +1.删除数据库:DROP DATABASE [IF EXISTS] 数据库名称; + +2.查看数据库的详细定义:SHOW CREATE DATABASE 数据库名称; + +3.修改数据库的编码:ALTER DATABASE 数据库名 CHARACTER SET 新的字符集名称 COLLATE 校对规则; + +4.删除表格:DROP TABLE IF EXISTS 表名称; + +5.修改一个字段的数据类型:ALTER TABLE 表名称 MODIFY 字段名称 新数据类型; + +6.修改字段的位置,顺序: +(1)ALTER TABLE 表名称 MODIFY 字段名称 数据类型 AFTER 另一个字段; +(1)ALTER TABLE 表名称 MODIFY 字段名称 数据类型 FIRST; + +7.重命名表:ALTER TABLE 表名称 RENAME TO 新名称; + +#### 3.DML语句 + +1.添加语句:INSERT INTO 表名称 VALUES(值列表);#要求值列表的数量、顺序要与表结构一一对应 + +2.添加语句,可以指定部分字段赋值:INSERT INTO 表名称(字段列表) VALUES(值列表)值列表只需要和前面的字段列表数量、顺序一一对应 + +3.一条insert语句同时添加多行记录: +(1)INSERT INTO 表名称 VALUES(值列表),(值列表),(值列表)... +(2)INSERT INTO 表名称(字段列表) VALUES(值列表),(值列表),(值列表)... + +4.删除整个表的数据:DELETE FROM 表名称; + +5.删除部分行:DELETE FROM 表名称 WHERE 条件 例如:DELETE FROM books WHERE num=0; + +6.删除weight列的数据:UPDATE stu SET name=NULL; + +7.删除weight列的定义:ALTER TABLE stu DROP name; + +8.修改表里数据的信息:UPDATE 表名称 SET 字段名 = 值,字段名 = 值,字段名 = 值 WHERE 条件;或者UPDATE 表名称 SET 字段名 = 值,字段名 = 值,字段名 = 值; + +# 2.作业 + +```mysql +CREATE DATABASE test01_market; +ALTER DATABASE test01_market charset utf8; +USE test01_market; +CREATE TABLE customers( +c_num int(11), +c_name VARCHAR(50), +c_contact VARCHAR(50), +c_city VARCHAR(50), +c_birth date +); +alter TABLE customers modify c_contact VARCHAR(50) after c_birth; +alter table customers MODIFY c_name varchar(70); +ALTER TABLE customers CHANGE c_contact c_phone varchar(50); +ALTER TABLE customers ADD COLUMN c_gender char(1); +ALTER TABLE customers MODIFY c_gender char(1) AFTER c_name ; +ALTER TABLE customers RENAME TO customers_info; +ALTER TABLE customers DROP COLUMN c_city; +SELECT * FROM customers; +``` + + + +```mysql +CREATE DATABASE test02_library; +ALTER DATABASE test02_library charset utf8; +USE test02_library; +CREATE TABLE books( +b_id INT(11), +b_name varchar(50), +`authors` varchar(100), +price float, +pubdate year, +note varchar(100), +num int(11) +); +INSERT INTO +CREATE DATABASE test02_library; +ALTER DATABASE test02_library charset utf8; +USE test02_library; +CREATE TABLE books ( + b_id INT ( 11 ) NOT NULL, + b_name VARCHAR( 50) NOT NULL, + `authors` VARCHAR ( 100 ) NOT NULL, + price folat NOT NULL, + pubdate YEAR NOT NULL, + note VARCHAR ( 100 ), + num INT ( 11 ) NOT NULL +); +INSERT INTO books ( b_id, b_name, `authors`, price, pubdate, note, num ) +VALUES + ( '1', 'Tal of AAA', 'Dickes', '23', '1995', 'novel', '11' ); +INSERT INTO books +VALUES + ( '2', 'EmmaT', 'Jane lura', '35', '1993', 'joke', '22' ); +INSERT INTO books +VALUES + ( '3', 'Story of Jane', 'Jane Tim', '40', '2001', 'novel', '0' ); +INSERT INTO books +VALUES + ( '4', 'Lovey Day', 'George Byron', '20', '2005', 'novel', '30' ); +INSERT INTO books +VALUES + ( '5', 'Old land', 'Honore Blade', '30', '2010', 'law', '0' ); +INSERT INTO books +VALUES + ( '6', 'The Battle', 'Upton Sara', '30', '1999', 'medicine', '40' ); +INSERT INTO books +VALUES + ( '7', 'Rose Hood', 'Richard haggard', '28', '2008', 'cartoon', '28' ); +UPDATE books SET price=price+5 WHERE note='novel'; +UPDATE books SET price= 40 WHERE b_name=EmmaT; +DELETE FROM books WHERE num=0; +SELECT * FROM books; +``` + + + +```mysql +CREATE DATABASE test03_bookstore; +ALTER DATABASE test03_bookstor CHARSET UTF8; +USE test03_bookstor; +CREATE TABLE book( +id int(11) PRIMARY KEY no FULL auto_increment, + title varchar(100) no NULL, + author varchar(100) no NULL, + price double(11,2) NO NULL, + sales int(11) NO NULL, + stock int(11) no NULL, + img_path varchar(100) NO NULL +); +INSERT INTO book('id','title','author ','price','sales',' stock',' img_path')VALUES('1','解忧杂货店 ','东野圭吾 ','27.20','102',' 98','upload/books/解忧杂货店.jpg'),('2','边城 ','沈从文 ',' 23.00','102','98','upload/books/边城.jpg'); +CREATE TABLE users( +id int(11) PRIMARY KEY NO FULL auto_increment, + username varchar(100) UNIQUEY KEY NO NULL, + `password` varchar(100) NO NULL, + email varchar(100) +); +INSERT INTO book VALUES('1','admin','112233','admin@mxdx.com'); +CREATE TABLE orders( +id varchar(100) PRIMARY KEY no NULL auto_increment, +order_time datetime NO NULL, +total_count int(11) NO NULL, +total_amount double(11,2) NO NULL, +state int(11) NO NULL, +user_id int(11) NO NULL +CONSISTENT orders_user_id_fk PRIMARY KEY(user_id )REFERENCES users(id), +); +INSERT INTO orders VALUES('15294258455691','2018-06-20 00:30:45','2','50.20','0','1'); +CREATE TABLE `order_items`( + id varchar(100) PRIMARY KEY NO NULL auto_increment, +count int(11) NO NULL, +amount double(11,2) NO NULL, +title varchar(100) NO NULL, +author varchar(100) NO NULL, +price double(11,2) NO NULL, +img_path varchar(100) NO NULL, +order_id varchar(100) NO NULL +CONSISTENT orders_items_user_id_fk PRIMARY KEY(order_id )REFERENCES `order`(id) +); +INSERT INTO order_items VALUES('1','1',' 27.20','解忧杂货店','东野圭吾','27.20','static/img/default.jpg','15294258455691'),('2','1','23.00','边城 ','沈从文 ','23.00','static/img/default.jpg','15294258455691'); +``` + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230221 \347\272\246\346\235\237.md" "b/18 \351\231\210\351\233\205\345\251\267/20230221 \347\272\246\346\235\237.md" new file mode 100644 index 0000000000000000000000000000000000000000..1bd32380fac33a4eacd082bece279ce94bfebb88 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230221 \347\272\246\346\235\237.md" @@ -0,0 +1,159 @@ +# 1.约束 + +#### 1.上节课回顾: + +DDL:数据定义语言 + +修改表:alter table 名字 rename to + 名字 + +DML:数据操作语言 + +修改:update 表名 set 字段1=值1,字段2=值2 where+条件 + +删除行:delete form 表 where 条件 + +查询语言:select 字段 form 表 + +#### 2.约束 + +主键、唯一、非空、默认、自增、外键 + +(1)主键(primary key)不允许重复、不允许为空、每个表只能有一个主键 + +(2)唯一(unique key)唯一,可以为空,一个表可以有多个唯一约束 + +(3)非空约束(no null)必填,不可以空 + +(4)默认约束:default值通常与not null一起使用(在添加数据时未指定值时,希望不要用NULL处理,而是按照一个默认值处理,就可以使用默认值约束。) + +(5)自增:每次的值以前面最大的值默认加1,要求自增的字段是主键(primary key auto_increment) + +(6)外键:约束两个表的关系,或者是一个表的两个字段之间的关系。(一个表依赖另外一个表) + +### 3.作业 + +1.第一题 + +```mysql +CREATE DATABASE test01_company; +ALTER DATABASE test01_company charset utf8; +USE test01_company; +CREATE TABLE offices( +officeCode INT, +city varchar(30), +address varchar(50), +country varchar(50), +postalCode varchar(25) +); +CREATE TABLE employees( +empNum int(11), +lastName varchar(50), +firstName varchar(50), +mobile varchar(25), +`code` INT, +jobTitle varchar(50), +birth date, +Note varchar(255), +Sex varchar(5) +); +ALTER TABLE employees MODIFY mobile varchar(25) AFTER `CODE`; +ALTER TABLE employees CHANGE birth birthday date; +ALTER TABLE employees MODIFY sex char(1); +ALTER TABLE employees DROP COLUMN Note; +ALTER TABLE employees ADD COLUMN favoriate_activity varchar(100); +ALTER TABLE employees RENAME TO employees_info; +``` + +2.第二题 + +```mysql +CREATE DATABASE test02db; +ALTER DATABASE test02db charset utf8; +USE test02db; +CREATE TABLE prt( +`name` varchar(20) COMMENT'宠物名称', +`owner` varchar(20) COMMENT '宠物主人', +species varchar(20) COMMENT '种类', +sex char(1) COMMENT'性别', +birth year COMMENT'出生日期', +death year COMMENT'死亡日期' +); +INSERT INTO prt VALUES('Fluffy','harold','Cat','f','2003','2010'); +INSERT INTO prt VALUES('Claws','gwen','Cat','m','2004',NULL); +INSERT INTO prt VALUES('Buffy',NULL,'dog','f','2009',NULL); +INSERT INTO prt VALUES('Fang','benny','dog','m','2000',NULL); +INSERT INTO prt VALUES('bowser','diane','dog','m','2003','2009'); +INSERT INTO prt VALUES('Chirpy',NULL,'Bird','f','2008',NULL); +DELETE FROM prt; +UPDATE prt SET `name`='kevin' WHERE `name`='Claws'; +UPDATE prt SET `death`='duck' WHERE `name`='NULL'; +SELECT `NAME` FROM prt WHERE owner =NULL; +SELECT NAME,owner,death FROM prt WHERE , +``` + +```mysql +CREATE TABLE department( +depid int PRIMARY KEY, +depname VARCHAR(20), +deinfo VARCHAR(50) +); + +CREATE TABLE employee( +empid int PRIMARY KEY, +name VARCHAR(20), +sex char DEFAULT '男', +title VARCHAR(20), +birthday date, +depid int, +FOREIGN KEY(depid) REFERENCES department(depid) on UPDATE CASCADE on DELETE SET null +); + +CREATE TABLE salary( +empid int PRIMARY KEY, +basesalary double, +titlesalary double, +deduction double +); + +alter table salary add FOREIGN KEY(empid) REFERENCES employee(empid) on UPDATE CASCADE on DELETE CASCADE; + +INSERT into department VALUES(111,'生产部',NULL),(222,'销售部',NULL),(333,'人事部','人力资源管理'); + +INSERT INTO employee VALUES(1001,'张三','男','高级工程师','1975-1-1',111),(1002,'李四','女','助工','1985-1-1',111),(1003,'王五','男','工程师','1978-11-11',222),(1004,'张六','男','工程师','1991-1-1',222); + +INSERT INTO salary VALUES(1001,2200,1100,200),(1002,1200,200,NULL),(1003,2900,700,200),(1004,1950,700,150); +``` + +第四题 + +```mysql +CREATE DATABASE test04_school; +ALTER DATABASE test04_school charset utf8; +USE test04_school; +CREATE TABLE Department( +DepNo int PRIMARY KEY NOT NULL, +DepName varchar(20) NOT NULL, +DepNote Varchar(50) +); +CREATE TABLE Teacher( +Number INT PRIMARY KEY NOT NULL, +`Name` VARCHAR(30) UNIQUE KEY, +Sex varchar(4), +Birth date, +DepNo int , +Salary float, +Address varchar(100), +FOREIGN KEY(DepNo) REFERENCES Department(DepNo) +); +INSERT INTO Department VALUES('601','软件技术系','软件技术等专业'); +INSERT INTO Department VALUES('602','网络技术系','多媒体技术等专业'); +INSERT INTO Department VALUES('603','艺术设计系','广告艺术设计等专业'); +INSERT INTO Department VALUES('604','管理工程系','连锁经营管理等专业'); +INSERT INTO Teacher VALUES('2001','Tom','女','1970-01-10','602','4500','四川省绵阳市'); +INSERT INTO Teacher VALUES('2002','Lucy','男','1983-12-18','601','2500','北京市昌平区'); +INSERT INTO Teacher VALUES('2003','Mike','男','1990-06-01','604','1500','重庆市渝中区'); +INSERT INTO Teacher VALUES('2004','James','女','1980-10-20','602','3500','四川省成都市'); +INSERT INTO Teacher VALUES('2005','Jack','男','1975-05-30','603','1200','重庆市南岸区'); +SELECT * FROM Teacher; +``` + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230224 \345\237\272\347\241\200\346\237\245\350\257\242_\350\277\220\347\256\227\347\254\246.md" "b/18 \351\231\210\351\233\205\345\251\267/20230224 \345\237\272\347\241\200\346\237\245\350\257\242_\350\277\220\347\256\227\347\254\246.md" new file mode 100644 index 0000000000000000000000000000000000000000..7fc98aa32b6e3c8d92f3249272d482094b730384 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230224 \345\237\272\347\241\200\346\237\245\350\257\242_\350\277\220\347\256\227\347\254\246.md" @@ -0,0 +1,115 @@ +# 1.笔记 + +字段筛选列表: select 字段列表 form 表名 + +where 筛选行:SELECT 字段列表 FROM 表名称 WHERE 条件; + +查看某行的数据: + + ```mysql + 例如:SELECT * FROM stu WHERE `name` = '张三'; + ``` + +查看某些列的数据: +select 字段列表 from 【数据库名.】表名称 + +去重: + +```mysql +select distinct 字段列表 from 表名称 【where 条件】 +``` + +模糊查询: + +```mysql +select * from 表名称 where 字段列表 like '%名%'; +``` + +2.算术运算符 +加:+ +减:- +乘:* +除:/ 正常除 + div 只保留整数部分,四舍五入 +模:% + +大于:> +小于:< +大于等于:>= +小于等于:>= +等于:= 不能用于null判断 +不等于:!= 或 <> 不能用于null判断 + +逻辑与:&& 或 and +逻辑或:|| 或 or +逻辑非:! 或 not +逻辑异或: xor + +<=>安全等于,可以用来判断null a is null 写成a<=>null + +区间范围:between x and y + not between x and y +集合范围:in (x,x,x) + not in(x,x,x) + between ... and ... 结果包含两端的边界 + +# 2.作业 + +```mysql +第一题: +CREATE DATABASE em; +ALTER DATABASE em charset utf8; +USE em; +drop table if exists `employee`; +CREATE TABLE employee( + id INT, + `name` VARCHAR(20), + sex VARCHAR(20), + tel VARCHAR(20), + addr VARCHAR(50), + salary FLOAT +); +INSERT INTO employee(id,`name`,sex,tel,addr,salary)VALUES +(10001,'张一一','男','13456789000','广东韶关',10010.58), +(10002,'刘小红','女','13454319000','广东江门',12010.21), +(10003,'李四','男','0751-1234567','广东佛山',10040.11), +(10004,'刘小强','男','0755-5555555','广东深圳',15010.23), +(10005,'王艳','男',NULL,'广东广州',14050.16); +SELECT id,`name`,sex,tel,addr,salary FROM employee WHERE salary>12000 AND salary<13000; +SELECT id,`name`,sex,tel,addr,salary FROM employee WHERE `name` LIKE '刘__'; +UPDATE employee SET addr='广东韶关' WHERE `name`='李四'; +SELECT id,`name`,sex,tel,addr,salary FROM employee WHERE `name` LIKE '%小%'; +SELECT id,`name`,sex,tel,addr,salary FROM employee WHERE salary>11000; +SELECT id,`name`,sex,tel,addr,salary FROM employee WHERE tel is NULL; +SELECT id,`name`,sex,tel,addr,salary FROM employee WHERE salary>12000 OR (sex='男' and addr IN('广东深圳','广东广州')); +SELECT `name`,salary FROM employee; +``` + +第二题: + +```mysql +CREATE DATABASE countries; +ALTER DATABASE countries CHARSET UTF8; +USE countries; +CREATE TABLE countries_info( + `name` VARCHAR(100), + `continent` VARCHAR(100), + `area` INT, + population INT, + gdp BIGINT +); +INSERT INTO countries_info VALUES +('Afghanistan','Asia',652230,25500100,20343000000), +('Albania','Europe',28748,2831741,12960000000), +('Algeria','Africa',2381741,37100000,188681000000), +('Andorra','Europe',468,78115,3712000000), +('Angola','Africa',1246700,20609294,100990000000); +SELECT `name`,continent ,area,population,gdp FROM countries_info WHERE population>=3000000 OR area>=25000000; +SELECT `name`,continent ,area,population,gdp FROM countries_info WHERE `name`='Afghanistan'; +SELECT `name`,continent ,area,population,gdp FROM countries_info WHERE area<10000 AND population<100000; +SELECT `name`,continent ,area,population,gdp FROM countries_info WHERE GDP>10000000000; +SELECT `name`,area,population,gdp FROM countries_info; +SELECT `name`,continent ,area,population,gdp FROM countries_info WHERE GDP<1000; +SELECT `name`,continent,population,gdp FROM countries_info; +``` + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230228 \345\205\263\350\201\224\346\237\245\350\257\242_\345\207\275\346\225\260.md" "b/18 \351\231\210\351\233\205\345\251\267/20230228 \345\205\263\350\201\224\346\237\245\350\257\242_\345\207\275\346\225\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..d23277c746ce8534b38399377c28e8e609553cdf --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230228 \345\205\263\350\201\224\346\237\245\350\257\242_\345\207\275\346\225\260.md" @@ -0,0 +1,231 @@ +# 1.笔记 + +#### 1.函数函数 + +(1)AVG(求平均值) + +(2)count(统计数) + +(3)max(求最大值) + +(4)min(求最小值) + +(5)sum(求和) + +Round(M,N) 保留M的N位小数,小数位超过N会四舍五入 + +curdate() 当前日期 +curtime() 当前时间 +now() 当前日期+时间 +year() 取年 +month() 取月 +day() 取天 + +truncate(M,N) 保留M的N位小数,小数位超过N ,直接截断 不四舍五入 + +例如:求最大的员工过生日 + +```mysql +select * from 表名称 where birthday=select max(birthday) from 表名称 +``` + +如果不要为空出现: + +```mysql +WHERE 字段 is not null group by 字段 +``` + +count(x)等价于常量,这两种在统计数量时会把null包含进来。 + +#### 2.关联查询 + +关联查询的结果一共有7种: + +(1)A,只去a的部分,可能包含部分b 左连接 + +```mysql +SELECT 字段列表 from a表 left b表 on a表.关联字段=b表.关联字段 +``` + + + +(2)A∩B,只取A跟B的共同部分 内连接 + +```mysql +SELECT 字段列表 from a表 inner join b表 on a表.关联字段=b表.关联字段 +``` + + + +(3)A-A∩B,A的部分—共同部分,只去A独有的 左连接 + +```mysql +SELECT 字段列表 from a表 leftr join b表 on a表.关联字段=b表.关联字段 where a.关联字段 is null +``` + + + +(4)B,只去b的部分,可能包含a的部分 右连接 + +```mysql +SELECT 字段列表 from a表 right join b表 on a表.关联字段=b表.关联字段 +``` + + + +(5)A∪B,就是取所有的 全外连接 + +```mysql +结果A union结果B +``` + + + +(6)B-A∩B,取b部分,只取b部门的 右连接 + +```mysql +SELECT 字段列表 from a表 right join b表 on a表.关联字段=b表.关联字段 where a表.关联字段 is null +``` + + + +(7)A∪B-A∩B,不取共同的,其他的全取 全外连接 + +```mysql +结果A-A∩B union B-A∩B +``` + + + +两个表的记录分为四种: + +(1)左连接 + +(2)右连接 + +(3)全外连接 + +(4)内连接 + +# 2.作业 + +```mysql +CREATE DATABASE a; +alter DATABASE a charset utf8; +USE a; +DROP TABLE student; +CREATE TABLE student( +Sno varchar (20) NOT NULL COMMENT'学号' PRIMARY KEY, +Sname varchar (20) NOT NULL COMMENT '学生姓名', +Ssex varchar (20) NOT NULL COMMENT'学生性别', +Sbirthday datetime COMMENT'学生出生年月', +Class varchar (20) COMMENT '学生所在班级' +); +DESC student; +INSERT INTO student VALUES +('108','曾华','男','1977-9-1','95033'), +('105','匡明','男','1975-10-2','95031'), +('107','王丽','女','1976-1-23','95033'), +('101','李军','男','1976-2-20','95033'), +('109','王芳','女','1975-2-10','95031'), +('103','陆君','男','1974-6-3','95031'); +CREATE TABLE if NOT EXISTS Teacher( +Tno varchar (20) PRIMARY KEY COMMENT'教工编号' , +Tname varchar (20)COMMENT'教工姓名', +Tsex varchar (20)COMMENT'教工性别', +Tbirthday datetime NOT NULL COMMENT'教工出生年月', +Prof varchar (20)NOT NULL COMMENT'职称', +Depart varchar (20)COMMENT'教工所在部门' +); +CREATE TABLE if not EXISTS Course( +Cno varchar (20)NOT NULL PRIMARY KEY COMMENT'课程号', +Cname varchar (20)NOT NULL COMMENT'课程名称', +Tno varchar (20) NOT NULL COMMENT'教工编号', +FOREIGN KEY (Tno) REFERENCES Teacher (Tno) +); +CREATE TABLE Score( +Sno varchar (20)NOT NULL COMMENT'学号', +FOREIGN KEY (Sno) REFERENCES Student (Sno), +Cno varchar (20)NOT NULL COMMENT'课程号', +FOREIGN KEY (Cno) REFERENCES Course (Cno), +Degree Decimal(4,1) COMMENT'成绩' +); + +INSERT INTO Teacher VALUES +('804','李诚','男','1958-12-2','副教授','计算机系'), +('856','张旭','男','1969-3-12','讲师','电子工程系'), +('825','王萍','女','1972-5-5','助教','计算机系'), +('831','刘冰','女','1977-8-14','助教','电子工程系'); +INSERT INTO Course VALUES +('3-105','计算机导论','825'), +('3-245','操作系统','804'), +('6-166','数字电路','856'), +('9-888','高等数学','831'); +INSERT INTO Score 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'); +#SELECT student.Sno,sname,ssex,sbirthday,class FROM student left JOIN Score ON student.Sno=score.Sno; +#SELECT Score.sno,cno,degree FROM student RIGHT JOIN Score ON student.sno=score.sno; +#SELECT course.tno,cno,cname FROM course left JOIN teacher ON course.tno=teacher.tno; +#SELECT teacher.tno,tname,tsex,tbirthday,prof,depart FROM course RIGHT JOIN teacher ON course.tno=teacher.tno; +#SELECT * FROM student left JOIN Score ON student.Sno=score.Sno UNION SELECT * FROM student RIGHT JOIN Score ON student.sno=score.sno; +SELECT student.*,course.* FROM student INNER JOIN score on student.sno=score.sno LEFT JOIN course ON score.cno=course.cno; +#!!!! +SELECT Teacher.* FROM Teacher LEFT JOIN Course on Teacher.Tno=Course.Tno LEFT JOIN Score on Course.Cno=Score.Cno LEFT JOIN Student on Student.Sno=Score.Sno WHERE Score.Sno is null; +SELECT sno,cno FROM score WHERE degree=(SELECT MAX(degree) FROM score); +SELECT Sname,Cno,Degree FROM student JOIN ; +SELECT student.sno,cno,degree FROM student RIGHT JOIN Score ON student.sno=score.sno; +SELECT score.Sno,Cname,Degree FROM score JOIN course ON course.Cno=score.Cno; +SELECT Cname,Degree,score.Cno FROM course JOIN score ON course.Cno=score.Cno; +SELECT sname ,Degree,student.Sno FROM student JOIN score ON student.Sno=score.Sno; +SELECT Cname,Degree,sname FROM student JOIN Score ON student.Sno=score.Sno JOIN course ON course.Cno=score.Cno; +#查询“95033”班学生的平均分。 +SELECT ROUND(avg(degree),2) FROM score WHERE sno IN (SELECT sno FROM student WHERE class='95033'); +#查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录 +SELECT * FROM student,score WHERE score.Cno='3-105' AND student.Sno=score.Sno AND score.Degree>(SELECT degree FROM score WHERE score.Cno='3-105' AND score.Sno='109'); +# 查询score中选学多门课程的同学中分数为非最高分成绩的记录。 +SELECT * FROM score WHERE degree<(SELECT MAX(degree) FROM score) +#⑧ 查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。 +SELECT * FROM student,score WHERE student.Sno=score.Sno AND student.Sno=score.Sno AND score.Degree>(SELECT degree FROM score WHERE score.Sno='109' AND score.Cno='3-105'); +#⑨ 查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。 +SELECT Sno,Sname,Sbirthday FROM student WHERE YEAR(student.sbirthday)=(SELECT YEAR(sbirthday) FROM student WHERE sno='108'); +#⑩ 查询“张旭“教师任课的学生成绩。 +SELECT degree FROM teacher,student,score,course WHERE teacher.Tname='张旭' AND teacher.Tno=course.Tno AND score.Cno=course.Cno; +#⑪ 查询选修某课程的同学人数多于5人的教师姓名。 +SELECT Tname from Teacher where Tno in (SELECT Tno FROM Course where Cno in(SELECT Cno FROM Score GROUP BY Cno HAVING COUNT(*)>5)); +#⑫ 查询出“计算机系“教师所教课程的成绩表。!! +SELECT * FROM score WHERE cno IN(SELECT cno FROM course WHERE tno IN(SELECT tno FROM teacher WHERE depart='计算机系')); +#⑬ 查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof。 +SELECT tname,prof FROM teacher where prof not in (SELECT prof FROM teacher WHERE teacher.Depart!=teacher.Depart); +#⑭ 查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。 +SELECT sno,cno,degree FROM score a WHERE (SELECT degree FROM score b WHERE cno='3-105' AND a.Sno=b.Sno)>=(SELECT degree from score c WHERE cno='3-245' and a.Sno=c.Sno) order by degree desc; +#⑮ 查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的Cno、Sno和Degree.!!!! +SELECT sno,cno,degree FROM score where degree>(SELECT MAX(degree) from score where cno='3-245')and cno='3-105'; +#⑯ 查询成绩比该课程平均成绩低的同学的成绩表。 +SELECT sno,cno,degree FROM score WHERE score.Degree<(SELECT AVG(degree)FROM score WHERE score.Cno=score.Cno); +#⑰ 查询所有任课教师的Tname和Depart.!! +SELECT tname,deprat FROM teacher WHERE Tno IN (SELECT tno FROM course WHERE cno IN(SELECT DISTINCT cno FROM score)); +#⑱ 查询所有未讲课的教师的Tname和Depart. +SELECT Tname,Depart FROM teacher WHERE Tname not in (SELECT distinct Tname from Teacher,Course,Score where Teacher.Tno=Course.Tno and Course.Cno=Score.Cno); +#⑲ 查询“男”教师及其所上的课程。!!! +SELECT tname,cname FROM teacher,course WHERE tsex='男' AND teacher.Tno=course.Tno; +#⑳ 查询最高分同学的Sno、Cno和Degree列。 +SELECT Sno,Cno,Degree FROM score WHERE degree=(SELECT MAX(degree) FROM score); +#查询和“李军”同性别的所有同学的Sname +SELECT * FROM student WHERE ssex=(SELECT ssex FROM student WHERE sname='李军') AND sname not in('李军'); +#22 查询和“李军”同性别并同班的同学Sname. +SELECT * FROM student WHERE ssex=(SELECT ssex from student WHERE sname='李军') AND sname not in('李军') AND class=(SELECT class FROM student WHERE sname='李军'); +#23 查询所有选修“计算机导论”课程的“男”同学的成绩表。 +SELECT * FROM score WHERE sno IN(SELECT sno FROM student WHERE ssex='男') AND cno in(SELECT cno from course WHERE cname='计算机导论'); +``` + diff --git "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/3.7\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232\345\222\214\347\254\224\350\256\260.md" "b/18 \351\231\210\351\233\205\345\251\267/20230307 \345\255\220\346\237\245\350\257\242.md" similarity index 81% rename from "18\345\217\267 \351\231\210\351\233\205\345\251\267/3.7\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232\345\222\214\347\254\224\350\256\260.md" rename to "18 \351\231\210\351\233\205\345\251\267/20230307 \345\255\220\346\237\245\350\257\242.md" index 1cc4a9774b6b044f9d89d4d1e25348045a02e812..9a8baa31bcf8aac1fea9f3235986b2e854235708 100644 --- "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/3.7\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232\345\222\214\347\254\224\350\256\260.md" +++ "b/18 \351\231\210\351\233\205\345\251\267/20230307 \345\255\220\346\237\245\350\257\242.md" @@ -33,7 +33,7 @@ abs:返回x的绝对值 # 2.作业 ```mysql -DROP DATABASE class1; + CREATE DATABASE class1; ALTER DATABASE class1 charset utf8; use class1; @@ -60,34 +60,34 @@ stuseat INT INSERT INTO stuExam VALUES(1,'s2501','50',70),(2,'s2502','60',65),(3,'s2503','86',70),(4,'s2504','40',80),(5,'s2505','70',85),(6,'s2506','85',90); INSERT INTO stumarks VALUES(1,'s2501',88),(2,'s2501',92),(3,'s2501',53),(4,'s2502',60),(5,'s2502',99),(6,'s2503',82); #1.查询出年龄比班上平均年龄大的学生的信息 -SELECT stuname,stuage FROM stuinfo WHERE stuage>(SELECT round(avg(stuage),2) FROM stuinfo); +SELECT * FROM stuinfo WHERE stuage>(SELECT avg(stuage) FROM stuinfo ); #2.查询出每个学生的学号,姓名,性别和选修课程的最高分 -SELECT stuinfo.stuno,stuname,stusex,max(score) FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid group by stuno; +SELECT stuno,stuname,stusex,MAX(score) FROM stuinfo LEFT JOIN stumarks ON stuinfo.stuno=stumarks.stuid GROUP BY stuno; #查询出每个学生的学号,姓名,性别和考试平均分(stuExam) -SELECT stuinfo.stuno,stuname,stusex,(writtenexam+labexam)/2 平均分 FROM stuinfo LEFT JOIN stuexam ON stuinfo.stuno=stuexam.stuno; +SELECT stuinfo.stuno,stuname,stusex,(writtenexam+labexam)/2 FROM stuinfo LEFT JOIN stuexam ON stuinfo.stuno=stuexam.stuno; #查询性别是男并且年龄大于等于20的学生的信息(用两种方法实现:普通查询和子查询) SELECT * FROM stuinfo WHERE stusex='男' AND stuage>=20; -SELECT * FROM (SELECT * FROM stuinfo WHERE stusex='男' AND stuage>=20) AS a; +SELECT * FROM(SELECT* FROM stuinfo WHERE stusex='女'AND stuage>=20) a; #查询出年龄比所有男生年龄都大的女生的信息 -SELECT * FROM stuinfo WHERE stusex='女' AND stuage>(SELECT MAX(stuage)FROM stuinfo WHERE stusex='男'); -#查询出所有选修课程都及格的学生的信息.(stuMarks) +SELECT * FROM stuinfo WHERE stusex='女' AND stuage>(SELECT max(stuage) FROM stuinfo WHERE stusex='男'); +#6.查询出所有选修课程都及格的学生的信息.(stuMarks) SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE stuMarks.stuid not IN (SELECT stuinfo.stuno FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score<60); #7.查询出参加考试的学生的信息(用表连接,in二种方法做)(stuMarks)!! -SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score IS not NULL GROUP BY stuno; -SELECT * FROM stuinfo WHERE stuno IN(SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score IS NOT NULL GROUP BY stuno); +SELECT * FROM stuinfo LEFT JOIN stumarks ON stuinfo.stuno=stumarks.stuid WHERE score IS NOT NULL GROUP BY stuno; +SELECT *FROM stuinfo WHERE stuno IN(SELECT stuno FROM stuinfo LEFT JOIN stumarks ON stuinfo.stuno=stumarks.stuid WHERE score IS NOT NULL GROUP BY stuno); #.查询出没有参加考试的学生的信息(用表连接,in二种方法做)!! SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score IS NULL; SELECT * FROM stuinfo WHERE stuid NOT IN(SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score IS NOT NULL); #将有一门成绩成绩大于90分的学生的基本信息查询出来(stuMarks) -SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score>ANY(SELECT * FROM ); +SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score>90; #查询出平均成绩在80分以上的学生的基本信息(stuMarks) -SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE avg(score)>80; +SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score>80; #查询出某同学所有考试成绩比“张秋利”同学所有分数都高的学生基本信息(stuMarks) SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score>any(SELECT max(score) FROM stuMarks RIGHT JOIN stuinfo ON stuinfo.stuno=stuMarks.stuid WHERE stuname='张秋利'); #.查询出某同学所有考试成绩只需要比“张秋利”同学某个分数高的学生基本信息(stuMarks) SELECT * FROM stuinfo LEFT JOIN stuMarks ON stuinfo.stuno=stuMarks.stuid WHERE score>any(SELECT max(score) FROM stuMarks RIGHT JOIN stuinfo ON stuinfo.stuno=stuMarks.stuid WHERE stuname='张秋利') AND stuname!='张秋利'; #查询班上比所有男生年龄都要大的女生的信息 -SELECT * FROM stuinfo WHERE stusex='女' AND stuage>(SELECT max(stuage) FROM stuinfo WHERE stusex='男'); +SELECT * FROM stuinfo WHERE stusex='女' AND stuage>all(SELECT max(stuage) FROM stuinfo WHERE stusex='男'); #查询出只要比某个男生年龄大的女生的信息 SELECT * FROM stuinfo WHERE stusex='女'and stuage> ANY(SELECT stuage FROM stuinfo WHERE stusex='男' ); ``` diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230310 \344\270\212\344\270\200\345\271\264\350\200\203\351\242\230.md" "b/18 \351\231\210\351\233\205\345\251\267/20230310 \344\270\212\344\270\200\345\271\264\350\200\203\351\242\230.md" new file mode 100644 index 0000000000000000000000000000000000000000..d5ec5257cd6c9fa676256a640733e341b7a9181d --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230310 \344\270\212\344\270\200\345\271\264\350\200\203\351\242\230.md" @@ -0,0 +1,101 @@ +```mysql +CREATE DATABASE xiaoshuo; +ALTER DATABASE xiaoshuo charset utf8; +USE xiaoshuo; +CREATE TABLE author( +author_id int COMMENT'作家编号' NOT NULL PRIMARY KEY, +author_name varchar(20) COMMENT'作家姓名', +credits INT COMMENT'积分', +vip_id VARCHAR(20) COMMENT'等级编号' NOT NULL, +FOREIGN KEY (vip_id) REFERENCES vip(vip_id) +#从表字段,主表名主表字段 +); +INSERT INTO author VALUES +(1001,'朱逸群',600,'VIP02'), +(1002,'范建',8510,'VIP04'), +(1003,'史珍香',981,'VIP02'), +(1004,'范统',2364,'VIP02'), +(1005,'杜子腾',257,'VIP01'), +(1006,'刘产',678,'VIP02'), +(1007,'杜琦燕',438,'VIP03'); + +CREATE TABLE vip( +vip_id VARCHAR (20) COMMENT'等级编号' PRIMARY KEY, +vip_name VARCHAR(20) COMMENT'等级名称' not NULL +); +INSERT INTO vip VALUES +('VIP01','青铜作家'), +('VIP02','白银作家'), +('VIP03','黄金作家'), +('VIP04','钻石作家'); + +CREATE TABLE story( +story_id INT COMMENT'作品编号'PRIMARY KEY, +author_id int COMMENT'作家编号', +FOREIGN KEY (author_id) REFERENCES author(author_id), +type_id VARCHAR(20) COMMENT'类型编号', +FOREIGN KEY (type_id) REFERENCES type(type_id), +story_name VARCHAR(50) COMMENT'作品名称', +views_number INT COMMENT'浏览量' +); +INSERT INTO story VALUES +(1,1002,'L03','母猪产后与护理师的两三事',6541), +(2,1005,'L04','拖拉机大战蜘蛛侠',563), +(3,1003,'L01','这只小龙虾不正经',8754), +(4,1006,'L04','一个爹爹三个娃',36354), +(5,1006,'L01','皇上滚开本宫只劫财',3674), +(6,1005,'L05','给长城贴瓷砖的小太监',6541), +(7,1003,'L03','不科学御兽',1257), +(8,1005,'L01','镜面管理局',3216), +(9,1004,'L02','关于我成为灭魂师',1147), +(10,1004,'L05','公子别秀',2078); + +CREATE TABLE type( +type_id VARCHAR(20) COMMENT'类型编号'PRIMARY KEY, +type_name VARCHAR(20) NOT NULL UNIQUE KEY COMMENT'类型名称' +); +INSERT INTO type VALUES +('L01','玄幻'), +('L02','奇幻'), +('L03','武侠'), +('L04','仙侠'), +('L05','都市'); +# 将story 表中的story_name字段类型改成varchar(40) 。(2分) +ALTER TABLE story MODIFY story_name VARCHAR(40); +#在author表中增加一个性别字段字段名:author_sex,类型:char(10),要求默认值为'男'。 (3分) +ALTER TABLE author ADD COLUMN AUTHOR_sex char(10) DEFAULT'男'; +#. 将作家编号为1005、1007的作家性别改为'女' 。(2分) +UPDATE story SET story_sex='女' WHERE story_id IN(1005,1007); +#5.作家杜子腾,写了一篇名为《拜登夸我很帅》的都市小说,有854个浏览量,请将这条信息插入到story +INSERT INTO story VALUES(11,1005,'拜登夸我很帅',854); +#6.《拖拉机大战蜘蛛侠》这篇小说,浏览量涨了100,请更新story表中的相关数据。(2分) +UPDATE story SET views_number=854 WHERE story_name='拖拉机大战蜘蛛侠'; +#请删除story表的中《皇上滚开本宫只劫财》这篇小说相关数据。(2分) +DELETE FROM story WHERE story_name='皇上滚开本宫只劫财'; +#查询 浏览量大于 8000的小说的作者编号和小说作品名称。(2分) +SELECT author_id,story_name FROM story WHERE views_number>8000; +#9. 查询积分大于1000 并且会员等级高于vip03的作家所有信息。 +SELECT * FROM author WHERE credits>1000 AND vip_id>'VIP03'; +#查询姓名以杜字开头的作家的姓名,积分和等级编号。 +SELECT author_name,credits,vip_id FROM author WHERE author_name LIKE '杜%'; +#查询积分在100、1000之间的作家信息,以积分降序排列。 +SELECT * FROM author WHERE credits>100 AND credits<1000 ORDER BY credits DESC; +#查询出小说的总浏览量,最高浏览量,最小浏览量,平均浏览量,给字段用上中文别名。 +SELECT sum(views_number) 总浏览量,MAX(views_number) 最大浏览量,MIN(views_number) 最小浏览量,AVG(views_number) 平均浏览量 FROM story; +#查询各种等级的作家的平均积分和作家数量,并对查询结果使用中文别名。 +SELECT avg(credits) AS 平均积分,COUNT(author_id) AS 作家数量 FROM author; +#查询小说数量大于等于2的分类编号和小说数量。 + SELECT type_id,count(story_name) FROM story GROUP BY type_id HAVING count(story_name)>=2; +#. 查询所有小说中浏览量最少的书的作品编号、作品名称和类型编号 +SELECT story_id,story_name,type_id,min(views_number) FROM story; +#查询积分比刘产高的作者所有信息。 +SELECT * from author WHERE credits>(SELECT credits FROM author WHERE author_name='刘产'); +# 查询出哪些白银作家是没有写小说的,显示这些作家的姓名、等级名称 +SELECT author_name,vip_name FROM author LEFT JOIN vip ON author.vip_id=vip.vip_id LEFT JOIN story ON story.author_id=author.author_id WHERE vip_name='白银作家' AND story_name IS NULL ; +#.找出写过作品浏览量大于5000的作家的所有作品中浏览量不到1000的作品信息(8分) +SELECT * FROM(SELECT author_id,story_name,views_number FROM story WHERE author_id in(SELECT author_id FROM story WHERE views_number>5000))a WHERE views_number<1000; +#+查询所有小说的小说编号、小说名称、浏览量、分类名称、作者姓名、作者积分、作者等级名称,结果字段要用中文别名,并按浏览量降序排列,如果浏览量一样的,再按积分降序排列 +SELECT story_id 小说编号,story_name 小说名称,views_number 浏览量,type_name 类型名称,author_name 作者姓名 ,credits 作者积分, vip_name 作者等级名称 FROM story JOIN type ON story.type_id=type.type_id JOIN author on author.author_id=story.author_id JOIN vip on author.vip_id=vip.vip_id ORDER BY views_number DESC, credits DESC; + +``` + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/MySQL\346\200\235\347\273\264\345\257\274\345\233\276.pdf" "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/MySQL\346\200\235\347\273\264\345\257\274\345\233\276.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..9210001d8f1c0cb653733c5ce6d1badb12e258be Binary files /dev/null and "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/MySQL\346\200\235\347\273\264\345\257\274\345\233\276.pdf" differ diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\344\275\234\344\270\2321.md" "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\344\275\234\344\270\2321.md" new file mode 100644 index 0000000000000000000000000000000000000000..111b314c57cd7c755f59459e7fd2059449e77d67 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\344\275\234\344\270\2321.md" @@ -0,0 +1,85 @@ +CREATE DATABASE zuoye2; +ALTER DATABASE zuoye2 charset utf8; +USE zuoye2; +CREATE TABLE stuinfo( +stuno VARCHAR(10), +stuname char(5), +stuage INT, +stuaddress VARCHAR(10), +stuseat int, +stusex enum('男','女') +); +CREATE TABLE stuexam( +examno INT, +stuno VARCHAR(10), +wittenexam int, +labexam INT +); +INSERT INTO stuinfo VALUES +('s2501','张秋利',20,'美国硅谷',1,1), +('s2502','李斯文',18,'湖北武汉',2,2), +('s2503','马文才',22,'湖南长沙',3,1), +('s2504','欧阳俊峰',21,'湖北武汉',4,2), +('s2505','梅超风',20,'湖北武汉',5,1), +('s2506','陈旋风',19,'美国硅谷',6,1), +('s2507','陈凤',20,'美国硅谷',7,2); + +INSERT INTO stuexam VALUES +(1,'s2501',50,70), +(2,'s2502',60,65), +(3,'s2503',86,85), +(4,'s2504',40,80), +(5,'s2505',70,90), +(6,'s2506',85,90); + + +#1.查询学生信息表(stuinfo)中所有列信息,给每列取上中文名称 +SELECT stuno 学号,stuname 姓名,stuage 年龄,stuaddress 地址,stuseat 座号,stusex 性别 FROM stuinfo; +#2.查询学生信息表(stuinfo)中的姓名,年龄和地址三列的信息 +SELECT stuname, stuage, stuaddress FROM stuinfo; +#3.查询学生分数表(stuexam)中的学号,笔试和机试三列的信息,并为这三列取中文名字 +SELECT stuno 学号,wittenexam 笔试,labexam 机试 FROM stuexam; +#5.查询学生分数表(stuexam)中的学生的学号,笔试,机试以及总分这四列的信息 +SELECT stuno 学号,wittenexam 笔试,labexam 机试,(wittenexam+labexam) 总分 FROM stuexam; +#6.查询学生信息表(stuInfo)中学生来自哪几个地方 +SELECT stuaddress FROM stuinfo; +#7.查询学生信息表(stuInfo)中学生有哪几种年龄,并为该列取对应的中文列名 +SELECT stuage 年龄 FROM stuinfo; +#8.查询学生信息表(stuInfo)中前3行记录 +SELECT * FROM stuinfo WHERE stuseat<=3; +#9.查询学生信息表(stuInfo)中前4个学生的姓名和座位号 +SELECT stuname 姓名,stuseat 座位号 FROM stuinfo where stuseat<=4; +#11.将地址是湖北武汉,年龄是20的学生的所有信息查询出来 +SELECT * FROM stuinfo WHERE stuaddress='湖北武汉' AND stuage=20; +#12.将机试成绩在60-80之间的信息查询出来,并按照机试成绩降序排列 +SELECT * FROM stuexam WHERE labexam BETWEEN 60 AND 80 ORDER BY labexam DESC; +#13.查询来自湖北武汉或者湖南长沙的学生的所有信息 +SELECT * FROM stuinfo WHERE stuaddress='湖南长沙' OR stuaddress='湖北武汉'; +#14.查询出笔试成绩不在70-90之间的信息,并按照笔试成绩升序排列 +SELECT * FROM stuexam WHERE NOT wittenexam BETWEEN 70 AND 90 ORDER BY wittenexam ASC; +#15.查询年龄没有写的学生所有信息 +SELECT * FROM stuinfo WHERE stuage IS null; +#16.查询年龄写了的学生所有信息 +SELECT * FROM stuinfo WHERE stuage IS NOT null; +#17.查询姓张的学生信息 +SELECT * FROM stuinfo WHERE stuname LIKE '张%'; +#18.查询学生地址中有‘湖’字的信息 +SELECT * FROM stuinfo WHERE stuaddress LIKE '%湖%'; +#19.查询姓张但名为一个字的学生信息 +SELECT stuname FROM stuinfo WHERE stuname LIKE '张%'; +#20.查询姓名中第三个字为‘俊’的学生的信息,‘俊’后面有多少个字不限制 +SELECT * FROM stuinfo WHERE stuname LIKE '%%俊%'; +#21.按学生的年龄降序显示所有学生信息 +SELECT * FROM stuinfo ORDER BY stuage DESC; +#22.按学生的年龄降序和座位号升序来显示所有学生的信息! +SELECT *FROM stuinfo ORDER BY stuage DESC,stuseat ASC; +#23显示笔试第一名的学生的考试号,学号,笔试成绩和机试成绩 +SELECT examno,stuno,wittenexam,labexam FROM stuexam HAVING max(wittenexam); +#24.显示机试倒数第一名的学生的考试号,学号,笔试成绩和机试成绩 +SELECT examno,stuno,wittenexam,labexam FROM stuexam HAVING MIN(labexam ); +#25.查询每个地方的学生的平均年龄 +SELECT avg(stuage) FROM stuinfo GROUP BY stuaddress; +#26.查询男女生的分别的年龄总和 +SELECT sum(stuage) FROM stuinfo GROUP BY stusex; +#27.查询每个地方的男女生的平均年龄和年龄的总和 +SELECT sum(stuage),avg(stuage) FROM stuinfo GROUP BY stuaddress,stusex; diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\344\275\234\344\270\2322.md" "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\344\275\234\344\270\2322.md" new file mode 100644 index 0000000000000000000000000000000000000000..b23d8376623432df82f4aa3183f8382789d8b8f8 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\344\275\234\344\270\2322.md" @@ -0,0 +1,50 @@ +```mysql +CREATE DATABASE A1 charset utf8; +use A1; +CREATE TABLE orders( +orderID int PRIMARY KEY, +orderDate datetime +); +CREATE TABLE orderitem( +itemID int, +orderid int, +itemType VARCHAR(10), +itemName VARCHAR(10), +theNumber int, +theMoney int +); +INSERT INTO orders VALUES +(1,'2008-01-12'), +(2,'2008-02-10'), +(3,'2008-02-15'), +(4,'2008-03-10'); +INSERT INTO orderitem VALUES +(1,1,'文具','笔',72,2), +(2,1,'文具','尺',10,1), +(3,1,'体育用品','篮球',1,56), +(4,2,'文具','笔',36,2), +(5,2,'文具','固体胶',20,3), +(6,2,'日常用品','透明胶',2,1), +(7,2,'体育用品','羽毛球',20,3), +(8,3,'文具','订书机',20,3), +(9,3,'文具','订书机',10,3), +(10,3,'文具','裁纸刀',5,5), +(11,4,'文具','笔',20,2), +(12,4,'文具','信纸',50,1), +(13,4,'日常用品','毛巾',4,5), +(14,4,'日常用品','透明胶',30,1), +(15,4,'体育用品','羽毛球',20,3); +# 1.查询所有订单订购的所有物品数量总和 +SELECT sum(theNumber) FROM orderitem; +#2.查询订单编号小于3的,平均单价小于10 每个订单订购的所有物品的数量和以及平均单价 +SELECT orderid,sum(theNumber),AVG(theMoney) FROM orderitem WHERE orderid<3 GROUP BY orderid HAVING AVG(theMoney)<10; +#3.查询平均单价小于10并且总数量大于 50 每个订单订购的所有物品数量和以及平均单价 +SELECT orderID,SUM(theNumber),AVG(theMoney) FROM orderitem group BY orderID HAVING AVG(theMoney)<10 AND SUM(theNumber)>50; +#4.查询每种类别的产品分别订购了几次 +SELECT itemType,COUNT(itemType) FROM orderitem GROUP BY itemType; +#5.查询每种类别的产品的订购总数量在100以上的订购总数量和平均单价 +SELECT itemType,SUM(theNumber),AVG(theMoney) FROM orderitem GROUP BY itemType HAVING SUM(theNumber)>100; +#6.查询每种产品的订购次数,订购总数量和订购的平均单价 +SELECT itemName,COUNT(itemName),SUM(theNumber),AVG(theMoney) FROM orderitem GROUP BY itemName; +``` + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2301\347\255\224\346\241\210;.md" "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2301\347\255\224\346\241\210;.md" new file mode 100644 index 0000000000000000000000000000000000000000..f6bfe913434407698a49bea5589fd2d23fc14bb1 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2301\347\255\224\346\241\210;.md" @@ -0,0 +1,67 @@ +```mysql +CREATE DATABASE GoodsDB CHARSET utf8; + +USE GoodsDB; + +CREATE TABLE GoodsType( + +TypeID INT COMMENT'商品类型编号' NOT NULL PRIMARY KEY UNIQUE, + +TypeName VARCHAR(20) COMMENT'商品类型名称' NOT NULL + +); + +CREATE TABLE GoodsInfo( + +GoodsID INT COMMENT'商品编号' NOT NULL, + +GoodsName VARCHAR(20) COMMENT'商品名称' NOT NULL PRIMARY KEY UNIQUE, + +GoodsColor VARCHAR(20) COMMENT'商品颜色' NOT NULL, + +GoodsBrand VARCHAR(20) COMMENT'商品品牌', + +Goodsprice DECIMAL(10,2) COMMENT'商品价格' NOT NULL, + +TypeID INT COMMENT'商品类型编号', + +FOREIGN KEY (TypeID) REFERENCES goodsType(TypeID) + +); + +INSERT INTO GoodsType VALUES + +(1,'服装内衣'), + +(2,'鞋包配饰'), + +(3,'手机数码'); + + + +INSERT INTO GoodsInfo VALUES + +(1,'提花小西装','红色','菲曼琪',300,1), + +(2,'百搭短裤','绿色','哥弟',100,1), + +(3,'无袖背心','白色','阿依莲' ,700,1), + +(4,'低帮休闲鞋','红色','菲曼琪',900,2), + +(5,'中跟单鞋','绿色','哥弟',400,2), + +(6,'平底鞋','白色','阿依莲',200,2), + +(7,'迷你照相机','红色','尼康',500,3), + +(8,'硬盘','黑色','希捷',600,3), + +(9,'显卡','黑色','技嘉',800,3); + + + +\#3、查询价格最贵的商品名称,商品颜色和商品价格,要求使用别名显示列名 + +SELECT GoodsName 商品名称,GoodsColor 商品颜色,Goodsprice 商品价格 FROM GoodsInfo; +``` \ No newline at end of file diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2302.md" "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2302.md" new file mode 100644 index 0000000000000000000000000000000000000000..e82a573a0eb4147f812ac369e20b6a6a8d1f9862 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2302.md" @@ -0,0 +1,66 @@ +```mysql +CREATE DATABASE HOUSE_DB charset utf8; + +USE HOUSE_DB; + +CREATE TABLE HOUSE_TYPE( + +type_id INT COMMENT'类型编号' NOT NULL auto_increment PRIMARY KEY, + +type_name VARCHAR(50) COMMENT'类型名称' NOT NULL UNIQUE KEY + +); + +CREATE TABLE HOUSE( + +house_id int not null auto_increment PRIMARY KEY COMMENT'房屋编号', + +house_name VARCHAR(50) not null COMMENT'房屋名称', + +house_price FLOAT not null DEFAULT 0 COMMENT'房租', + +type_id int not null COMMENT'房屋类型', + +FOREIGN KEY (type_id) REFERENCES HOUSE_TYPE(type_id) + +); + +INSERT INTO HOUSE_TYPE VALUES + +(1,'小户型'), + +(2,'经济型'), + +(3,'别墅'); + +INSERT INTO HOUSE VALUES + +(201,'天宫一号',3000,1), + +(202,'北京三环',5000,2), + +(203,'上海外滩',4000,3); + + + +\#查询所有房屋信息 + +SELECT * FROM house; + +\#使用模糊查询包含”型“字的房屋类型信息 + +SELECT * FROM HOUSE_TYPE WHERE type_name LIKE '%型'; + +\#查询出房屋的名称和租金,并且按照租金降序排序 + +SELECT house_name AS 房屋名称,house_price AS 租金 FROM house ORDER BY house_price DESC; + +\#使用连接查询,查询信息,显示房屋名称和房屋类型名称 + +SELECT house_name,type_name FROM HOUSE_TYPE left JOIN house ON HOUSE_TYPE.type_id=house.type_id; + +\#查询所有房屋中月租最高的房屋,显示最高的租金和房屋名称 + +SELECT max(house_price) 最高的租金,house_name 房屋名称 FROM house WHERE house_price=(SELECT MAX(house_price) FROM house); +``` + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2303.md" "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2303.md" new file mode 100644 index 0000000000000000000000000000000000000000..ba8b62af879d984d053cc310b099d00a8e34032b --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\345\244\215\344\271\240\351\242\2303.md" @@ -0,0 +1,70 @@ +```mysql +CREATE DATABASE StarManagerDB charset utf8; + +USE StarManagerDB; + +CREATE TABLE StarType( + +T_NO INT COMMENT'明星类型编号' NOT NULL PRIMARY KEY auto_increment, + +T_NAME VARCHAR(20) COMMENT'明星类型' + +); + +CREATE TABLE StarInfo( + +S_NO INT COMMENT'明星编号' NOT NULL PRIMARY KEY auto_increment, + +S_NAME VARCHAR(20) COMMENT'明星姓名' NOT NULL, + +S_AGE INT COMMENT'明星年龄' NOT NULL, + +S_HOBBY VARCHAR(20) COMMENT'特技', + +S_NATIVE VARCHAR(20) COMMENT'明星籍贯' DEFAULT'中国大陆', + +S_T_NO INT COMMENT'明星类型编号', + +FOREIGN KEY (S_T_NO) REFERENCES StarType(T_NO) + +); + +INSERT INTO StarType VALUES + +(1,'体育明星'), + +(2,'IT明星'), + +(3,'相声演员'); + + + +INSERT INTO StarInfo VALUES + +(1,'梅西',30,'射门','阿根廷',1), + +(2,'科比',35,'过人','美国',1), + +(3,'蔡景现',40,'敲代码','中国',2), + +(4,'马斯克',36,'造火箭','外星人',2), + +(5,'郭德纲',50,'相声','中国',3), + +(6,'黄铮',41,'拼多多','中国',2); + + + +\#3、查询年龄最大的3个明星的姓名,特技和籍贯信息,要求使用别名显示列名。 + +SELECT S_NAME 姓名,S_HOBBY 科技,S_NATIVE 籍贯信息 FROM StarInfo ORDER BY S_AGE DESC LIMIT 0,3; + +\#4、按明星类型编号分类查询明星人数,明星平均年龄,显示明星人数大于2的分组信息,要求使用别名显示列名。 + +SELECT S_T_NO,count(S_NO) 人数,avg(S_AGE) 平均年龄 FROM StarInfo GROUP BY S_T_NO HAVING count(S_NO)>2; + +\#5、查询明星类型为“体育明星”中年龄最大的姓名、特技、籍贯信息,要求显示列别名 + +SELECT S_NAME 姓名,S_HOBBY 科技,S_NATIVE 籍贯信息 from StarInfo LEFT JOIN StarType ON StarType.T_NO=StarInfo.S_T_NO WHERE S_AGE=(SELECT MAX(S_AGE) FROM StarInfo LEFT JOIN StarType ON StarType.T_NO=StarInfo.S_T_NO WHERE T_NAME='体育明星'); +``` + diff --git "a/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\347\273\203\344\271\2403;.md" "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\347\273\203\344\271\2403;.md" new file mode 100644 index 0000000000000000000000000000000000000000..06df769c442adc9a90df9a27b744f9f9a114bc24 --- /dev/null +++ "b/18 \351\231\210\351\233\205\345\251\267/20230311 \344\275\234\344\270\232\347\273\203\344\271\240\345\244\215\344\271\240\351\242\230/\347\273\203\344\271\2403;.md" @@ -0,0 +1,70 @@ +```mysql +CREATE DATABASE class2 charset utf8; +USE class2; +CREATE TABLE stuInfo( +stuid INT, +stuname VARCHAR(10), +stuage INT, +stusex ENUM('男','女'), +time DATETIME +); +INSERT INTO stuInfo VALUES +(1,'Tom',19,2,NULL), +(2,'jack',20,1,NULL), +(3,'rose',21,2,NULL), +(4,'lulu',19,2,NULL), +(5,'lili',21,1,NULL), +(6,'abc',20,2,'2007-01-07 01:11:36.590'); + +CREATE TABLE courseInfo( +courseid INT, +coursename CHAR(20), +coursemarks INT +); +INSERT INTO courseInfo VALUES +(1,'JavaBase',4), +(2,'HTML',2), +(3,'JavaScript',2), +(4,'SqlBase',2); + +CREATE TABLE scoreInfo( +scoreid INT, +stuid INT, +courseid INT, +score INT +); +INSERT INTO scoreInfo VALUES +(1,1,1,80), +(2,1,2,85), +(3,1,4,50), +(4,2,1,75), +(5,2,3,45), +(6,2,4,75), +(7,3,1,45), +(8,4,1,95), +(9,4,2,75), +(10,4,3,90), +(11,4,4,45); + +#1.查询出每个学生所选修的课程的数量和所选修的课程的考试的平均分 +SELECT stuid,courseid,COUNT(courseid),avg(score) FROM scoreInfo GROUP BY courseid,stuid; +#2.查询出每门课程的选修的学生的个数和学生考试的总分 +SELECT count(courseid),sum(score) FROM scoreInfo GROUP BY courseid; +#3.查询出性别一样并且年龄一样的学生的信息 +SELECT * FROM stuInfo a WHERE (SELECT count(*) FROM stuInfo WHERE a.stuage=stuage AND a.stusex=stusex)>1; +#4.查询出学分一样的课程信息 +SELECT coursename FROM courseInfo a WHERE (SELECT count(*) FROM courseInfo WHERE a.coursemarks=coursemarks)>1; +#5.查询出参加了考试的学生的学号,姓名,课程号和分数 +SELECT stuInfo.stuid,stuname,courseid,score FROM stuInfo LEFT JOIN scoreInfo ON stuInfo.stuid=scoreInfo.stuid WHERE score IS NOT NULL; +#6.查询出参加了考试的学生的学号,课程号,课程名,课程学分和分数 +SELECT stuInfo.stuid,stuname,courseid,score FROM stuInfo LEFT JOIN scoreInfo ON stuInfo.stuid=scoreInfo.stuid WHERE score IS NULL; +#7.查询出没有参加考试的学生的学号和姓名 +SELECT stuname,stuInfo.stuid FROM stuInfo LEFT JOIN scoreInfo ON stuInfo.stuid=scoreInfo.stuid WHERE score IS NULL; +#8.查询出是周六周天来报到的学生 +SELECT * FROM stuInfo WHERE WEEKDAY(TIME)=5 OR WEEKDAY(TIME)=6; +#9.查询出姓名中有字母a的学生的信息 +SELECT * FROM stuInfo WHERE stuname like '%a%'; +#10.查询出选修了2门课程以上的并且考试平均分在70以上的学生的学号和考试平均分以及选修课程的数量 +SELECT stuid,avg(score),count(courseid) FROM scoreInfo GROUP BY stuid HAVING count(courseid)>2 AND avg(score)>70; +``` + diff --git "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232/\344\275\234\344\270\232\344\270\200.txt" "b/18\345\217\267 \351\231\210\351\233\205\345\251\267/\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232/\344\275\234\344\270\232\344\270\200.txt" deleted file mode 100644 index aa299508c998f7392810f2e2535fbff77d7afa0b..0000000000000000000000000000000000000000 --- "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232/\344\275\234\344\270\232\344\270\200.txt" +++ /dev/null @@ -1,28 +0,0 @@ -ͼݱĿ - -1.ѯȰƽѧϢ - -2.ѯÿѧѧţԱѡ޿γ̵߷֣stuMarks - -3.ѯÿѧѧţԱͿƽ֣stuExam - -4.ѯԱвڵ20ѧϢ(ַʵ֣ͨѯӲѯ) -5.ѯ䶼ŮϢ - -6.ѯѡ޿γ̶ѧϢ stuMarks - -7.ѯμӿԵѧϢñӣinַstuMarks - -8.ѯûвμӿԵѧϢñӣinַstuMarks - -9.һųɼɼ90ֵѧĻϢѯstuMarks - -10.ѯƽɼ80ϵѧĻϢstuMarks - -11.ѯijͬѧпԳɼȡͬѧзߵѧϢstuMarks - -12.ѯijͬѧпԳɼֻҪȡͬѧijߵѧϢstuMarks - -13.ѯϱ䶼ҪŮϢ - -14.ѯֻҪijŮϢ diff --git "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232/\346\225\260\346\215\256\345\272\223\350\241\250\346\225\210\346\236\234\345\233\276.jpg" "b/18\345\217\267 \351\231\210\351\233\205\345\251\267/\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232/\346\225\260\346\215\256\345\272\223\350\241\250\346\225\210\346\236\234\345\233\276.jpg" deleted file mode 100644 index 6dac1ca7163d65f74d2b8961d71783561f53599d..0000000000000000000000000000000000000000 Binary files "a/18\345\217\267 \351\231\210\351\233\205\345\251\267/\345\255\220\346\237\245\350\257\242\344\275\234\344\270\232/\346\225\260\346\215\256\345\272\223\350\241\250\346\225\210\346\236\234\345\233\276.jpg" and /dev/null differ