diff --git "a/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\224\350\256\260.md" "b/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\224\350\256\260.md" index 2e3c6aff333cc5ead6d6902095d3a156b96098cb..0675ff8a79d9e22f7172bec4f334119013cb2f91 100644 --- "a/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\224\350\256\260.md" +++ "b/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\224\350\256\260.md" @@ -1,20 +1,57 @@ # MySQL笔记 -### 第一天 +ddl:create alter drop 定义 -创建库: +dml:insert into update delete 数据操作语言 -CREATE DATABASE + 库名; +dql:数据查询语言 select -使用库: +### 语法 -use + 库名; +不分大小写, -创建表格: +一般以分号结尾, -create table + 表格名称( +不要用关键字作名称 + +----------------------------------------------------------------------------------------------------------------------------------------- + +数据库 + +~~~ mysql +show databases; -- 查询所有数据库 +show databases(); -- 查询当前数据库 +create database if not exists 数据库名称;-- 如果数据库存在则不创建 +use 数据库名称; +drop database if exists 数据库名称 ; +~~~ + +表格 + +~~~ mysql +create tables 表名( +字段1 字段类型 【comment 字段1注释】, +字段2 字段类型 【comment 字段2注释】, +字段3 字段类型 【comment 字段3注释】 +)【comment 表注释】;-- 表格创建语句 最后一字段不需要加逗号 +drop table if exists 表名; -- 删除表 +desc 表名;-- 查询表结构 +show tables; -- 查询当前数据库所有表格 +show create tables 表名; -- 查询创建表语句 +~~~ + +数据类型 + +~~~ mysql +整数类型:int +小数类型:float double (浮点) decimal(定点) +日期时间:year time data +字符串型:vachar(固定长度) char(可变长度) +~~~ + +vachar没有默认值,所以一定要写长度。字符串不能超过所写的长度。 + +char默认长度为1 -名称 + -) diff --git "a/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\254\344\270\200,\344\272\214\346\254\241\344\275\234\344\270\232.md" "b/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\254\344\270\200,\344\272\214\346\254\241\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..3dc8cfc0aa95d5abcfe41ea5c73030a3560d4812 --- /dev/null +++ "b/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\254\344\270\200,\344\272\214\346\254\241\344\275\234\344\270\232.md" @@ -0,0 +1,365 @@ +02月19日 + +1、创建数据库test01_market + +1.CREATE DATABASE test01_market +1.use test01_market + +2、创建表格customers + +| 字段名 | 数据类型 | +| --------- | ----------- | +| c_num | int(11) | +| c_name | varchar(50) | +| c_contact | varchar(50) | +| c_city | varchar(50) | +| c_birth | date | + +2.CREATE TABLE customers( +c_num int(11), +c_name VARCHAR(50), +c_contact VARCHAR(50), +c_city VARCHAR(50), +c_birth date +) + +**要求3:**将c_contact字段移动到c_birth字段后面 + +3.alter table customers modify c_contact VARCHAR(50) after c_birth; + +**要求4:**将c_name字段数据类型改为 varchar(70) + +4.ALTER TABLE customers MODIFY c_name VARCHAR(70); + +**要求5:**将c_contact字段改名为c_phone + +5.ALTER TABLE customers change c_contact c_phone VARCHAR(50); + +**要求6:**增加c_gender字段到c_name后面,数据类型为char(1) + +6.ALTER TABLE customers add c_gender char(1); + +**要求7:**将表名改为customers_info + +7.ALTER TABLE customers RENAME to customers_info; + +**要求8:**删除字段c_city + +8.ALTER TABLE customers_info DROP COLUMN c_city; + +第二题 + +-- 1、创建数据库test02_library + +CREATE DATABASE test02_library; +USE test02_library; + +-- 2、创建表格books + +CREATE TABLE books( +b_id int(11) not null, +b_name VARCHAR(50) not null, +author VARCHAR(100) not null, +price FLOAT not null, +pubdate year not null, +note VARCHAR(100) null, +num int(11) not null +); + +| -- | 字段名 | 字段说明 | 数据类型 | 允许为空 | 唯一 | +| ------------------------- | ------- | -------- | ------------- | -------- | ---- | +| -- | b_id | 书编号 | int(11) | 否 | 是 | +| -- | b_name | 书名 | varchar(50) | 否 | 否 | +| -- | authors | 作者 | varchar(100) | 否 | 否 | +| -- | price | 价格 | float | 否 | 否 | +| -- | pubdate | 出版日期 | year | 否 | 否 | +| -- | note | 说明 | varchar(100) | 是 | 否 | +| -- | num | 库存 | int(11) | 否 | 否 | +| -- | | | | | | +| -- 3、向books表中插入记录 | | | | | | + +-- 1) 指定所有字段名称插入第一条记录 + +INSERT INTO books( +b_id, +b_name, +author, +price, +pubdate, +note, +num +) +values (1,'Tal of AAA','Dickes',23,'1995','novel',11); +select * from books; + +-- 2)不指定字段名称插入第二记录 + +insert into books values(2,'EmmaT','Jane lura',35,1993,'joke',22); +select * from books; + +-- 3)同时插入多条记录(剩下的所有记录) + +insert into books values +(3,'Story of Jane','Jane Tim',40,'2001','novel',0), +(4,'Lovey Day','George Byron',20,'2005','novel',30), +(5,'Old land','Honore Blade',30,'2010','law',0), +(6,'The Battle','Upton Sara',30,'1999','medicine',40), +(7,'Rose Hood','Richard haggard',28,'2008','cartoon',28); +select * from books; + + + +| -- | b_id | b_name | authors | price | pubdate | note | num | +| ---- | ---- | ------------- | --------------- | ----- | ------- | -------- | ---- | +| -- | 1 | Tal of AAA | Dickes | 23 | 1995 | novel | 11 | +| -- | 2 | EmmaT | Jane lura | 35 | 1993 | joke | 22 | +| -- | 3 | Story of Jane | Jane Tim | 40 | 2001 | novel | 0 | +| -- | 4 | Lovey Day | George Byron | 20 | 2005 | novel | 30 | +| -- | 5 | Old land | Honore Blade | 30 | 2010 | law | 0 | +| -- | 6 | The Battle | Upton Sara | 30 | 1999 | medicine | 40 | +| -- | 7 | Rose Hood | Richard haggard | 28 | 2008 | cartoon | 28 | + +| -- 4、将小说类型(novel)的书的价格都增加5。 | | | | | | | | +| --------------------------------------------------- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | +| update books set price=price+5 where note='novel'; | | | | | | | | +| select * from books; | | | | | | | | +| -- 5、将名称为EmmaT的书的价格改为40。 | | | | | | | | +| update books set price=40 where b_name='EmmaT'; | | | | | | | | +| select * from books; | | | | | | | | +| -- 6、删除库存为0的记录1、创建数据库test02_library | | | | | | | | +| delete from books where num=0; | | | | | | | | +| select * from books; | | | | | | | | + +-- ## 第1题 02月21日 +-- +-- 1、创建数据库test01_company +CREATE DATABASE test01_company; +-- 2、创建表格offices +USE test01_company; +CREATE TABLE test01_company( +officeCode INT, +city VARCHAR(30), +address VARCHAR(50), +country VARCHAR(50), +postalCode VARCHAR(25) +); +| -- | 字段名 | 数据类型 | +| ------------------------------------------------------------ | ---------- | ------------- | +| -- | officeCode | int | +| -- | city | varchar(30) | +| -- | address | varchar(50) | +| -- | country | varchar(50) | +| -- | postalCode | varchar(25) | +| -- | | | +| -- 3、创建表格employees | | | +| 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) | | | +| ); | | | +| -- | 字段名 | 数据类型 | +| -- | --------- | ------------- | +| -- | 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) | +| -- | | | +| -- **要求4:**将表employees的mobile字段修改到code字段后面。 | | | +| ALTER TABLE employees MODIFY mobile VARCHAR(25) after `code`; | | | +| -- **要求5:**将表employees的birth字段改名为birthday; | | | +| ALTER TABLE employees CHANGE birth birthday date; | | | +| -- **要求6:**修改sex字段,数据类型为char(1)。 | | | +| ALTER TABLE employees MODIFY Sex char(1); | | | +| -- **要求7:**删除字段note; | | | +| ALTER TABLE employees DROP note; | | | +| -- **要求8:**增加字段名favoriate_activity,数据类型为varchar(100); | | | +| ALTER TABLE employees add favoriate_activity VARCHAR(100); | | | +| -- **要求9:**将表employees的名称修改为 employees_info | | | +| ALTER TABLE employees RENAME to employees_info; | | | +| -- ## 第2题 | | | +| -- | | | +| -- 1、创建数据库test02db | | | +| CREATE DATABASE test02db; | | | +| -- 2、创建表格pet | | | +| use test02db; | | | +| CREATE TABLE pet( | | | +| `name` varchar(20) COMMENT '宠物名称', | | | +| `owner`varchar(20) COMMENT '宠物主人', | | | +| species varchar(20) COMMENT '种类', | | | +| sex char(1) COMMENT '性别', | | | +| birth YEAR COMMENT '出生日期', | | | +| death YEAR COMMENT'死亡日期' | | | +| ) COMMENT '表格2注释'; | | | +| -- | 字段名 | 字段说明 | +| -- | ------- | -------- | +| -- | name | 宠物名称 | +| -- | owner | 宠物主人 | +| -- | species | 种类 | +| -- | sex | 性别 | +| -- | birth | 出生日期 | +| -- | death | 死亡日期 | +| -- | | | +| -- 3、添加记录 | | | +| INSERT into pet VALUES('Fluffy','harold','Cat','f',2003,2010),('Claws','gwen','Cat','m',2004,NULL),('Buffy',NULL,'Dog','f',2009,NULL),('Fang','benny','Dog','m',2000,NULL),('bowser','diane','Dog','m',2003,2009),('Chirpy',NULL,'Bird','f',2008,NULL); | | | +| -- | name | owner | +| -- | ------ | ------ | +| -- | Fluffy | harold | +| -- | Claws | gwen | +| -- | Buffy | | +| -- | Fang | benny | +| -- | bowser | diane | +| -- | Chirpy | | +| -- | | | +| -- 4、 添加字段主人的生日owner_birth。 | | | +| ALTER TABLE pet add owner_birth date; | | | +| -- 5、 将名称为Claws的猫的主人改为kevin | | | +| UPDATE pet SET `owner`='kevin' WHERE `name`='Claws'; | | | +| -- 6、 将没有死的狗的主人改为duck | | | +| update pet set `owner`='duck' WHERE `death`IS NULL; | | | +| -- 7、 查询没有主人的宠物的名字; | | | +| SELECT `name` FROM pet where `owner` IS null; | | | +| -- 8、 查询已经死了的cat的姓名,主人,以及去世时间; | | | +| select `name`,`owner`,death from pet WHERE species='Cat'; | | | +| -- 9、 删除已经死亡的狗 | | | +| delete from pet where species='Dog' and death='2009'; | | | +| -- 10、查询所有宠物信息 | | | +| select * from pet; | | | +| -- ```sql | | | +| -- | | | +| -- ``` | | | +| -- | | | +| -- ## 第3题 | | | +| -- | | | +| -- 1、创建数据库:test03_company | | | +| create database test03_company; | | | +| -- 2、在此数据库下创建如下3表,数据类型,宽度,是否为空根据实际情况自己定义。 | | | +| -- | | | +| -- A. 部门表(department):部门编号(depid),部门名称(depname),部门简介(deinfo);其中部门编号为主键。 | | | +| -- | | | +| -- ```mysql | | | +| use test03_company ; | | | +| create table department( | | | + depid int primary key auto_increment, + depname char(10) not null unique key, + deinfo varchar(200) + -- ) +-- ``` +-- +-- B. 雇员表(employee):雇员编号(empid),姓名(name),性别(sex),职称(title),出生日期(birthday),所在部门编号(depid);其中 +-- +-- * 雇员编号为主键; +-- * 部门编号为外键,外键约束等级为(on update cascade 和on delete set null); +-- * 性别默认为男; +-- +-- ```mysql +-- create table employee ( +-- empid int primary key auto_increment, +-- name varchar(10) not null, +-- sex enum('男','女') not null default '男', +-- title varchar(10), +-- birthday date, +-- depid int foreign key references department(depid) +-- ) +-- ``` +-- +-- C. 工资表(salary):雇员编号(empid),基本工资(basesalary),职务工资(titlesalary),扣除(deduction)。其中雇员编号为主键。 +-- +-- 3、给工资表(salary)的雇员编号(empid)增加外键约束,外键约束等级为(on update cascade 和on delete cascade) +-- +-- 4、添加数据如下: +-- +-- 部门表: +-- +| -- | 部门编号 | 部门名称 | 部门简介 | +| ----------------------------------------------------------- | ---------- | ------------ | ------------------ | +| -- | 111 | 生产部 | Null | +| -- | 222 | 销售部 | Null | +| -- | 333 | 人事部 | 人力资源管理 | +| -- | | | | +| -- 雇员表: | | | | +| -- | | | | +| -- | 雇员编号 | 姓名 | 性别 | +| -- | -------- | ---- | ---- | +| -- | 1001 | 张三 | 男 | +| -- | 1002 | 李四 | 女 | +| -- | 1003 | 王五 | 男 | +| -- | 1004 | 张六 | 男 | +| -- | | | | +| -- 工资表: | | | | +| -- | | | | +| -- | 雇员编号 | 基本工资 | 职务工资 | +| -- | -------- | -------- | -------- | +| -- | 1001 | 2200 | 1100 | +| -- | 1002 | 1200 | 200 | +| -- | 1003 | 2900 | 700 | +| -- | 1004 | 1950 | 700 | +| -- | | | | +| -- | | | | +| -- | | | | +| -- ## 第4题 | | | | +| -- | | | | +| -- 1、创建一个数据库:test04_school | | | | +| CREATE DATABASE test04_school; | | | | +| -- 2、创建如下表格 | | | | +| use test04_school; | | | | +| CREATE TABLE Department( | | | | +| DepNo int(10) COMMENT '部门号' PRIMARY KEY not null UNIQUE, | | | | +| DepName VARCHAR(20) COMMENT '部门名称' not null, | | | | +| DepNote VARCHAR(50) COMMENT '部门备注' | | | | +| ); | | | | +| -- 表1 Department表的定义 | | | | +| -- | | | | +| -- | **字段名** | **字段描述** | **数据类型** | +| -- | ---------- | ------------ | ------------ | +| -- | DepNo | 部门号 | int(10) | +| -- | DepName | 部门名称 | varchar(20) | +| -- | DepNote | 部门备注 | Varchar(50) | +| -- | | | | +| -- 表2 Teacher表的定义 | | | | +| -- | | | | +| -- | **字段名** | **字段描述** | **数据类型** | +| -- | ---------- | ------------ | ------------ | +| -- | Number | 教工号 | int | +| -- | Name | 姓名 | varchar(30) | +| -- | Sex | 性别 | varchar(4) | +| -- | Birth | 出生日期 | date | +| -- | DepNo | 部门号 | int | +| -- | Salary | 工资 | float | +| -- | Address | 家庭住址 | varchar(100) | +| -- | | | | +| -- 3、添加记录 | | | | +| -- | | | | +| -- | **DepNo** | **DepName** | **DepNote** | +| -- | --------- | ----------- | ------------------ | +| -- | 601 | 软件技术系 | 软件技术等专业 | +| -- | 602 | 网络技术系 | 多媒体技术等专业 | +| -- | 603 | 艺术设计系 | 广告艺术设计等专业 | +| -- | 604 | 管理工程系 | 连锁经营管理等专业 | +| -- | | | | +| -- | **Number** | **Name** | **Sex** | +| -- | ---------- | -------- | ------- | +| -- | 2001 | Tom | 女 | +| -- | 2002 | Lucy | 男 | +| -- | 2003 | Mike | 男 | +| -- | 2004 | James | 女 | +| -- | 2005 | Jack | 男 | +| -- | | | | +| -- 4、用SELECT语句查询Teacher表的所有记录。 | | | | +| -- | | | | +| -- ```mysql | | | | +| -- | | | | +| -- ``` | | | | + + + diff --git "a/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" "b/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" deleted file mode 100644 index f5cf8b8efd087c3662ba02eab53a20097025c59c..0000000000000000000000000000000000000000 --- "a/12 \346\236\227\344\277\212\344\274\237/20230219 MySQL\347\254\254\344\270\200\346\254\241\344\275\234\344\270\232.md" +++ /dev/null @@ -1,134 +0,0 @@ -1、创建数据库test01_market - -1.CREATE DATABASE test01_market -1.use test01_market - -2、创建表格customers - -| 字段名 | 数据类型 | -| --------- | ----------- | -| c_num | int(11) | -| c_name | varchar(50) | -| c_contact | varchar(50) | -| c_city | varchar(50) | -| c_birth | date | - -2.CREATE TABLE customers( -c_num int(11), -c_name VARCHAR(50), -c_contact VARCHAR(50), -c_city VARCHAR(50), -c_birth date -) - -**要求3:**将c_contact字段移动到c_birth字段后面 - -3.alter table customers modify c_contact VARCHAR(50) after c_birth; - -**要求4:**将c_name字段数据类型改为 varchar(70) - -4.ALTER TABLE customers MODIFY c_name VARCHAR(70); - -**要求5:**将c_contact字段改名为c_phone - -5.ALTER TABLE customers change c_contact c_phone VARCHAR(50); - -**要求6:**增加c_gender字段到c_name后面,数据类型为char(1) - -6.ALTER TABLE customers add c_gender char(1); - -**要求7:**将表名改为customers_info - -7.ALTER TABLE customers RENAME to customers_info; - -**要求8:**删除字段c_city - -8.ALTER TABLE customers_info DROP COLUMN c_city; - -第二题 - --- 1、创建数据库test02_library - -CREATE DATABASE test02_library; -USE test02_library; - --- 2、创建表格books - -CREATE TABLE books( -b_id int(11) not null, -b_name VARCHAR(50) not null, -author VARCHAR(100) not null, -price FLOAT not null, -pubdate year not null, -note VARCHAR(100) null, -num int(11) not null -); - -| -- | 字段名 | 字段说明 | 数据类型 | 允许为空 | 唯一 | -| ------------------------- | ------- | -------- | ------------- | -------- | ---- | -| -- | b_id | 书编号 | int(11) | 否 | 是 | -| -- | b_name | 书名 | varchar(50) | 否 | 否 | -| -- | authors | 作者 | varchar(100) | 否 | 否 | -| -- | price | 价格 | float | 否 | 否 | -| -- | pubdate | 出版日期 | year | 否 | 否 | -| -- | note | 说明 | varchar(100) | 是 | 否 | -| -- | num | 库存 | int(11) | 否 | 否 | -| -- | | | | | | -| -- 3、向books表中插入记录 | | | | | | - --- 1) 指定所有字段名称插入第一条记录 - -INSERT INTO books( -b_id, -b_name, -author, -price, -pubdate, -note, -num -) -values (1,'Tal of AAA','Dickes',23,'1995','novel',11); -select * from books; - --- 2)不指定字段名称插入第二记录 - -insert into books values(2,'EmmaT','Jane lura',35,1993,'joke',22); -select * from books; - --- 3)同时插入多条记录(剩下的所有记录) - -insert into books values -(3,'Story of Jane','Jane Tim',40,'2001','novel',0), -(4,'Lovey Day','George Byron',20,'2005','novel',30), -(5,'Old land','Honore Blade',30,'2010','law',0), -(6,'The Battle','Upton Sara',30,'1999','medicine',40), -(7,'Rose Hood','Richard haggard',28,'2008','cartoon',28); -select * from books; - - - -| -- | b_id | b_name | authors | price | pubdate | note | num | -| ---- | ---- | ------------- | --------------- | ----- | ------- | -------- | ---- | -| -- | 1 | Tal of AAA | Dickes | 23 | 1995 | novel | 11 | -| -- | 2 | EmmaT | Jane lura | 35 | 1993 | joke | 22 | -| -- | 3 | Story of Jane | Jane Tim | 40 | 2001 | novel | 0 | -| -- | 4 | Lovey Day | George Byron | 20 | 2005 | novel | 30 | -| -- | 5 | Old land | Honore Blade | 30 | 2010 | law | 0 | -| -- | 6 | The Battle | Upton Sara | 30 | 1999 | medicine | 40 | -| -- | 7 | Rose Hood | Richard haggard | 28 | 2008 | cartoon | 28 | - -| -- 4、将小说类型(novel)的书的价格都增加5。 | | | | | | | | -| --------------------------------------------------- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | -| update books set price=price+5 where note='novel'; | | | | | | | | -| select * from books; | | | | | | | | -| -- 5、将名称为EmmaT的书的价格改为40。 | | | | | | | | -| update books set price=40 where b_name='EmmaT'; | | | | | | | | -| select * from books; | | | | | | | | -| -- 6、删除库存为0的记录1、创建数据库test02_library | | | | | | | | -| delete from books where num=0; | | | | | | | | -| select * from books; | | | | | | | | - - - - - diff --git "a/12 \346\236\227\344\277\212\344\274\237/20230223 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md" "b/12 \346\236\227\344\277\212\344\274\237/20230223 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..b4aff7390d72f35c87b0c48aad90de05c652dd74 --- /dev/null +++ "b/12 \346\236\227\344\277\212\344\274\237/20230223 MySQL\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232.md" @@ -0,0 +1,125 @@ +## 第1题:员工表 + +```mysql +drop table if exists `employee`; +CREATE DATABASE a; +#创建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); +``` + + + +| **id** | **name** | **sex** | **tel** | **addr** | **salary** | +| ------ | -------- | ------- | ------------ | -------- | ---------- | +| 10001 | 张一一 | 男 | 13456789000 | 广东韶关 | 10010.58 | +| 10002 | 刘小红 | 女 | 13454319000 | 广东江门 | 12010.21 | +| 10003 | 李四 | 男 | 0751-1234567 | 广东佛山 | 10040.11 | +| 10004 | 刘小强 | 男 | 0755-5555555 | 广东深圳 | 15010.23 | +| 10005 | 王艳 | 女 | NULL | 广东广州 | 14050.16 | + +-- **要求1:**查询出薪资在12000~13000之间的员工信息。 + +SELECT * FROM employee where salary BETWEEN 12000 and 13000; + +-- **要求2:**查询出姓“刘”的员工的工号,姓名,家庭住址。 + +select addr,name,id from employee where name like "刘%"; + +-- **要求3:**将“李四”的家庭住址改为“广东韶关” + +UPDATE employee set addr="广东韶关" where name='李四'; + +-- **要求4:**查询出名字中带“小”的员工 + +SELECT * FROM employee WHERE name like "%小%"; + +-- **要求5:**查询出薪资高于11000的男员工信息 + +SELECT * FROM employee where salary>11000; + +-- **要求6:**查询没有登记电话号码的员工 + +SELECT * FROM employee where tel is null; + +-- **要求7:**查询薪资高于12000或者家是广东深圳、广州的男员工 + +SELECT * FROM employee where salary>12000 && sex = '男'; + +-- **要求8:**查询每个员工的年薪,显示“姓名、年薪” + +SELECT name 名字,salary 薪 FROM employee; + +## 第2题:国家信息表 + +countries_info表中存储了国家名称、所属大陆、面积、人口和 GDP 值。 + +```mysql +DROP TABLE IF EXISTS `countries_info`; +CREATE DATABASE b; +use b; +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); +``` + +表数据样例: + ++-------------+-----------+---------+------------+--------------+ +| name | continent | area | population | gdp | ++-------------+-----------+---------+------------+--------------+ +| 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 | ++-------------+-----------+---------+------------+--------------+ + +-- **要求1:** 查询大国 的国家名称、人口和面积。 + +-- 如果一个国家满足下述两个条件之一,则认为该国是 大国 : +-- +-- - 面积至少为 300万平方公里(即,3000000 km2) +-- +-- - 人口至少为 2500 万(即 25000000) + select `name`,population,area from countries_info where area>3000000 or population>25000000; +-- **要求2:**查询属于亚洲的国家名称、所属大陆、面积、人口和 GDP 值 + select * from countries_info where continent='asia'; +-- **要求3:**查询国土面积不足1万平方公里且人口不走10万人的国家信息 +select * from countries_info where area<10000 and population<100000; +-- **要求4:**查询国家名字中包含“o“字母的国家信息 +select * from countries_info where `name` like '%o%'; +-- **要求5:**查询GDP值超过10000000000的国家信息 +select `name` 国家名,population 人口,gdp GDP值,gdp/population 人均贡献GDP值 from countries_info; +-- **要求6:**查询每个国家的人均贡献GDP值(GDP/人口总数)并显示为“国家名、人口、GDP值、人均贡献GDP值” +select `name` 国家名,population 人口,gdp GDP值,gdp/population 人均贡献GDP值 from countries_info; +-- **要求7:**查询人均贡献GDP值低于1000的国家信息。 +select * from countries_info where gdp/population<1000; + + + diff --git "a/12 \346\236\227\344\277\212\344\274\237/20230301 MySQL\347\254\254\345\233\233\346\254\241\344\275\234\344\270\232.md" "b/12 \346\236\227\344\277\212\344\274\237/20230301 MySQL\347\254\254\345\233\233\346\254\241\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..4432669a9815e84d0b4bdc30df0cc9b92a04be8a --- /dev/null +++ "b/12 \346\236\227\344\277\212\344\274\237/20230301 MySQL\347\254\254\345\233\233\346\254\241\344\275\234\344\270\232.md" @@ -0,0 +1,202 @@ +\1. 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。 + +**2.** ***\*数据库的表结构\**** + +表(一)Student (学生表) + +| 属性名 | 数据类型 | 可否为空 | 含义 | +| --------- | ------------ | -------- | ------------ | +| Sno | varchar (20) | 否 | 学号(主码) | +| Sname | varchar (20) | 否 | 学生姓名 | +| Ssex | varchar (20) | 否 | 学生性别 | +| Sbirthday | datetime | 可 | 学生出生年月 | +| Class | varchar (20) | 可 | 学生所在班级 | + +表(二)Course(课程表) + +| 属性名 | 数据类型 | 可否为空 | 含义 | +| ------ | ------------ | -------- | ---------------- | +| Cno | varchar (20) | 否 | 课程号(主码) | +| Cname | varchar (20) | 否 | 课程名称 | +| Tno | varchar (20) | 否 | 教工编号(外码) | + +表(三)Score(成绩表) + +| 属性名 | 数据类型 | 可否为空 | 含义 | +| -------------- | ------------ | -------- | -------------- | +| Sno | varchar (20) | 否 | 学号(外码) | +| Cno | varchar (20) | 否 | 课程号(外码) | +| Degree | Decimal(4,1) | 可 | 成绩 | +| 主码:Sno+ Cno | | | | + +表(四)Teacher(教师表) + +| 属性名 | 数据类型 | 可否为空 | 含义 | +| --------- | ------------ | -------- | ---------------- | +| Tno | varchar (20) | 否 | 教工编号(主码) | +| Tname | varchar (20) | 否 | 教工姓名 | +| Tsex | varchar (20) | 否 | 教工性别 | +| Tbirthday | datetime | 可 | 教工出生年月 | +| Prof | varchar (20) | 可 | 职称 | +| Depart | varchar (20) | 否 | 教工所在部门 | + +**3.** ***\*数据库中的数据\****: + +-- 1,查询所有学生,都学了哪些课程,要显示学生信息和课程信息/ + +-- 2,查询没有学生的教师的所有信息 + + + + + +表(一)Student + +| Sno | Sname | Ssex | Sbirthday | class | +| ---- | ----- | ---- | --------- | ----- | +| 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 | + +表(二)Course + +| Cno | Cname | Tno | +| ----- | ---------- | ---- | +| 3-105 | 计算机导论 | 825 | +| 3-245 | 操作系统 | 804 | +| 6-166 | 数字电路 | 856 | +| 9-888 | 高等数学 | 831 | + +表(三)Score + +| Sno | Cno | Degree | +| ---- | ----- | ------ | +| 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 | + +表(四)Teacher + +| Tno | Tname | Tsex | Tbirthday | Prof | Depart | +| ---- | ----- | ---- | --------- | ------ | ---------- | +| 804 | 李诚 | 男 | 1958-12-2 | 副教授 | 计算机系 | +| 856 | 张旭 | 男 | 1969-3-12 | 讲师 | 电子工程系 | +| 825 | 王萍 | 女 | 1972-5-5 | 助教 | 计算机系 | +| 831 | 刘冰 | 女 | 1977-8-14 | 助教 | 电子工程系 | + +\4. 查询 + +CREATE DATABASE zy4; +use zy4; +CREATE TABLE Student( +Sno varchar (20) not NULL PRIMARY KEY, +Sname varchar (20) not NULL, +Ssex varchar (20) NOT NULL, +Sbirthday datetime null , +Class varchar (20) null +); +create table Course( +Cno varchar (20) primary key, +Cname varchar (20) not null, +Tno varchar (20) not null, +foreign key(Tno) references Teacher(Tno) +); +create table Score( +Sno varchar (20) not null, +Cno varchar (20) not null, +Degree Decimal(4,1) null, +foreign key(Sno) references Student(Sno), +foreign key(Cno) references Course(Cno) +); +alter table student charset utf8; +alter table course charset utf8; +alter table score charset utf8; +alter table Teacher charset utf8; +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'); +insert into Course(Cno,Cname,Tno) values +('3-105','计算机导论','825'), +('3-245','操作系统','804'), +('6-166','数字电路','856'), +('9-888','高等数学','831'); +insert into Teacher(Tno,Tname,Tsex,Tbirthday,Prof,Depart) values +('804','李诚','男','1958-12-2','副教授','计算机系'), +('856','张旭','男','1969-3-12','讲师','电子工程系'), +('825','王萍','女','1972-5-5','助教','计算机系'), +('831','刘冰','女','1977-8-14','助教','电子工程系'); +insert into Score(Sno,Cno,Degree) 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'); + +① 查询Score表中的最高分的学生学号和课程号。 + +② 查询所有学生的Sname、Cno和Degree列。 + +③ 查询所有学生的Sno、Cname和Degree列。 + +④ 查询所有学生的Sname、Cname和Degree列。 + +⑤ 查询“95033”班学生的平均分。 + +⑥ 查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。 + +⑦ 查询score中选学多门课程的同学中分数为非最高分成绩的记录。 + +⑧ 查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。 + +⑨ 查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。 + +⑩ 查询“张旭“教师任课的学生成绩。 + +⑪ 查询选修某课程的同学人数多于5人的教师姓名。 + +⑫ 查询出“计算机系“教师所教课程的成绩表。 + +⑬ 查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof。 + +⑭ 查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。 + +⑮ 查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的Cno、Sno和Degree. + +⑯ 查询成绩比该课程平均成绩低的同学的成绩表。 + +⑰ 查询所有任课教师的Tname和Depart. + +⑱ 查询所有未讲课的教师的Tname和Depart. + +⑲ 查询“男”教师及其所上的课程。 + +⑳ 查询最高分同学的Sno、Cno和Degree列。 + +21 查询和“李军”同性别的所有同学的Sname. + +22 查询和“李军”同性别并同班的同学Sname. + +23 查询所有选修“计算机导论”课程的“男”同学的成绩表。 \ No newline at end of file diff --git "a/12 \346\236\227\344\277\212\344\274\237/20230307 MySQL\347\254\254\344\272\224\346\254\241\344\275\234\344\270\232.md" "b/12 \346\236\227\344\277\212\344\274\237/20230307 MySQL\347\254\254\344\272\224\346\254\241\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..dcc43c635b428a1b5bd27787c0c96d094471f962 --- /dev/null +++ "b/12 \346\236\227\344\277\212\344\274\237/20230307 MySQL\347\254\254\344\272\224\346\254\241\344\275\234\344\270\232.md" @@ -0,0 +1,116 @@ +| | | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| [10](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | create database lianxi charset utf8; | +| [11](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | use lianxi; | +| [12](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | drop table stuinfo; | +| [13](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | drop table stuExam; | +| [14](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | create table stuinfo( | +| [15](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuNO varchar(10) primary key, | +| [16](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuName varchar(10), | +| [17](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuSex char, | +| [18](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuage int(3), | +| [19](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuAddress varchar(5), | +| [20](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuSeat int(2) | +| [21](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ); | +| [22](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | create table stuExam( | +| [23](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | examNO int(2) primary key, | +| [24](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuNO varchar(10), | +| [25](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | foreign key(stuNO) references stuinfo(stuNO), | +| [26](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | writtenExam int(3), | +| [27](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | labExam int(3) | +| [28](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ); | +| [29](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | create table stuMarks( | +| [30](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | examNO int(2), | +| [31](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | foreign key(examNO) references stuExam(examNO), | +| [32](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuID varchar(10), | +| [33](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | score int(3) | +| [34](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ); | +| [35](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | insert into stuinfo VALUES | +| [36](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ('s2501','张秋利','男',20,'美国硅谷',1), | +| [37](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ('s2502','李斯文','女',18,'湖北武汉',2), | +| [38](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ('s2503','马文才','男',18,'湖南长沙',3), | +| [39](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ('s2504','欧阳俊雄','女',21,'湖北武汉',4), | +| [40](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ('s2505','梅超风','男',16,'湖北武汉',5), | +| [41](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | ('s2506','陈旋风','男',19,'美国硅谷',6); | +| [42](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | insert into stuExam values | +| [43](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (1,'s2501',50,70), | +| [44](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (2,'s2502',60,65), | +| [45](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (3,'s2503',86,70), | +| [46](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (4,'s2504',40,80), | +| [47](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (5,'s2505',70,85), | +| [48](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (6,'s2506',85,90); | +| [49](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | insert into stuMarks values | +| [50](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (1,'s2501',88), | +| [51](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (2,'s2501',92), | +| [52](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (3,'s2501',53), | +| [53](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (4,'s2502',60), | +| [54](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (5,'s2502',99), | +| [55](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | (6,'s2503',82); | +| [56](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 1.查询出年龄比班上平均年龄大的学生的信息 | +| [57](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select * from stuinfo where stuage>(select avg(stuage) from stuinfo); | +| [58](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 2.查询出每个学生的学号,姓名,性别和选修课程的最高分(stuMarks) | +| [59](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select a.stuNO,stuName,stuSex,score | +| [60](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | from stuinfo a inner join stuMarks c on | +| [61](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | a.stuNO=c.stuID | +| [62](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where score in (select max(score) from stuMarks group by stuID); | +| [63](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 3.查询出每个学生的学号,姓名,性别和考试平均分(stuExam) | +| [64](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select a.stuNO,a.stuName,a.stuSex,(writtenExam+labExam)/2 | +| [65](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | from stuinfo a left join stuExam b ON | +| [66](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | a.stuNO=b.stuNO | +| [67](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where (writtenExam+labExam)/2 in (select (writtenExam+labExam)/2 from stuExam group by examNO); | +| [68](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 4.查询性别是男并且年龄大于等于20的学生的信息(用两种方法实现:普通查询和子查询) | +| [69](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select * from stuinfo where stuSex='男' and stuage>=20; | +| [70](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | | +| [71](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select * from stuinfo | +| [72](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where stuSex in (select stuSex from stuinfo where stuSex='男') | +| [73](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | and | +| [74](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | stuage in (select stuage from stuinfo where stuage>=20); | +| [75](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 5.查询出年龄比所有男生年龄都大的女生的信息 | +| [76](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select * from stuinfo where stuage in (select max(stuage) from stuinfo where stuSex='女' group by stuSex); | +| [77](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 6.查询出所有选修课程都及格的学生的信息 (stuMarks) | +| [78](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select * from stuinfo a inner join stuExam b on | +| [79](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | a.stuNO=b.stuNO | +| [80](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where b.writtenExam in (select b.writtenExam from stuExam where b.writtenExam>=60) | +| [81](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | AND | +| [82](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | b.labExam in (select b.labExam from stuExam where b.labExam>=60); | +| [83](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 7.查询出参加考试的学生的信息(用表连接,in二种方法做)(stuMarks) | +| [84](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select a.* from stuinfo a inner join stuExam b inner join stuMarks c ON | +| [85](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | a.stuNO=b.stuNO and b.examNO=c.examNO | +| [86](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where a.stuNO in (select stuID from stuMarks group by stuID); | +| [87](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 8.查询出没有参加考试的学生的信息(用表连接,in二种方法做)(stuMarks) | +| [88](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select a.* from stuinfo a inner join stuExam b inner join stuMarks c ON | +| [89](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | a.stuNO=b.stuNO and b.examNO=c.examNO | +| [90](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where a.stuNO not in (select stuID from stuMarks group by stuID); | +| [91](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 9.将有一门成绩成绩大于90分的学生的基本信息查询出来(stuMarks) | +| [92](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select a.* from stuinfo a inner join stuMarks b on | +| [93](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | a.stuNO=b.stuID | +| [94](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where score in (select score from stuMarks where score>=90 group by stuID); | +| [95](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 10.查询出平均成绩在80分以上的学生的基本信息(stuMarks) | +| [96](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select a.* from stuinfo a inner join stuMarks b on | +| [97](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | a.stuNO=b.stuID | +| [98](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where score in (select avg(score) from stuMarks group by stuID) group by 'avg(score)'; | +| [99](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | -- 11.查询出某同学所有考试成绩比“张秋利”同学所有分数都高的学生基本信息(stuMarks) | +| [100](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | select a.* from stuinfo a inner join stuMarks b on | +| [101](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | a.stuNO=b.stuID | +| [102](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#null) | where | +| [103](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_103_103) | (select sum(score) from stuMarks where stuID='s2501') in | +| [104](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_104_104) | (select sum(score) from stuMarks where stuID!='s2501' group by stuID); | +| [105](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_105_105) | -- 12.查询出某同学所有考试成绩只需要比“张秋利”同学某个分数高的学生基本信息(stuMarks) | +| | select a.* from stuinfo a inner join stuMarks b on | +| | a.stuNO=b.stuID | +| | where score in (select score from stuMarks where score in | +| | (select min(score) from stuMarks where stuID='s2501') < | +| | (select score from stuMarks where stuID!='s2501' group by score) | +| | ); | +| [106](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_112_106) | select distinct a.* from stuinfo a right join stumarks b on a.stuno=b.stuID | +| [107](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_112_107) | where score > any | +| [108](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_112_108) | (select score from stuinfo a right join stumarks b on a.stuno=b.stuID where stuname='张秋利') and stuno != 's2501'; | +| [109](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_112_109) | -- 13.查询班上比所有男生年龄都要大的女生的信息 | +| [110](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_113_110) | select * from stuinfo where stuage in (select max(stuage) from stuinfo where stuSex='女' group by stuSex); | +| | -- 14.查询出只要比某个男生年龄大的女生的信息 | +| [111](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_115_111) | -- 14.查询出只要比某个男生年龄大的女生的信息 | +| [112](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_115_112) | select * from stuinfo | +| [113](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_115_113) | where stuage > any | +| [114](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_115_114) | (select stuage from stuinfo where stuSex='男') and stuSex='女'; | +| [115](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_115_115) | | +| [116](https://gitee.com/cao-zhengbo/mysql-base/commit/429e888e89c3b200bb05e4ddd01a03b2da756da0#6ea650355eba70d14982cfa0f40422b57ee1170c_115_116) | | \ No newline at end of file