MySQL基础 -- 练习题

一、已有表文件 stock (股票代码 C(6),买入价 N(10.2),现价 N(10.2),持有数量 N(10)),按照如下要求写出SQL语句。

       1、查询 股票代码 为“000625”的股票的持有数量。 

       2、利用SQL命令插入记录("600028",4.36, 4.60, 5500)到stock.dbf表。 

       3、利用SQL命令将stock.dbf表中 股票代码为"600007"的股票 现价 改为 8.88。 

       4、利用SQL命令将stock.dbf表中 股票代码为"600000"的股票加上删除标记。

       提示:为了便于批卷,命令动词和子句均使用小写并写完整的命令,命令前不用标注题号。

SELECT 持有数量 FROM STOCK WHERE 股票代码 = "000625"
INSERT INTO STOCK(股票代码,买入价,现价,持有数量) VALUES ("600028",4.36,4.6,5500)
UPDATE STOCK SET 现价 = 8.88 WHERE 股票代码 = "600007"
DELETE FROM STOCK WHERE 股票代码 = “600000”

二、已有表文件 stu (学号 C(4), 姓名 C(8), 性别 C(2), 出生日期 D,贷款否 L),写出下列SQL命令:

       1、查询所有男生的信息,并将查询结果输出到表文件sta.dbf中。 

       2、利用SQL命令插入记录("1010","张大兵",男, {^1985/01/10}, .f.)到sta.dbf中。 

       3、利用SQL命令将sta.dbff表中姓名为“于修洁”的记录的出生日期改为 {^1982/10/11}。 

       4、利用SQL命令将sta.dbf表中贷款否 为 .F.的记录加上删除标记。

       提示: 为了便于批卷,命令动词和子句均使用小写并写出完整命令,命令前不用标注题号。

SELECT * FROM STU WHERE 性别 = "男" INTO TABLE STA.DBF
INSERT INTO STU(学号,姓名,性别,出生日期,贷款否) VALUES ("1010","张大兵",男, {^1985/01/10}, .f.)
UPDATE STU SET 出生日期={^1982/10/11} WHERE 姓名="于修洁"
DELETE FROM STU WHERE 贷款否 = .F.

三、已有表文件teacher(教师代码(C),姓名(C),学院(C),职称(C),年龄(N)),按照要求写出SQL语句:

       1、查询职称为"副教授"的教师代码,姓名,学院,职称信息;

       2、查询学院为“电信学院”并且职称为“讲师”的所有教师的信息,并将查询结果按年龄字段的降序排序。

       3、将所有教师的年龄加1; 

       4、将表中年龄小于15岁的教师记录加上删除标记; 

       提示:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT 教师代码,姓名,学院,职称信息 FROM TEACHER WHERE 职称 = "副教授"
SELECT * FROM TEACHER WHERE 职称 ="讲师" AND 学院 ="电信学院" ORDER BY 年龄 DESC
UPDATE TEACHER SET 年龄 = 年龄+1
DELETE FROM TEACHER WHERE 年龄 < 15

四、已有如下图书数据表文件:图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2)),按照以下要求写出SQL语句:

       1、查询“工业出版社”出版的所有图书信息,并按书名的升序排序;

       2、查询单价在15元至25元(含15元和25元)之间的图书的书名、作者、单价和分类号, 结果输出到表文件ts.dbf中;

       3、将所有的图书单价都增加5元; 

       4、将表中出版单位为“农业出版社”的所有记录加上删除标记。

       提示:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT * FROM 图书 WHERE 出版单位 = "工业出版社" ORDER BY 书名 
SELECT 书名、作者、单价、分类号 FROM 图书 WHERE 单价 BETWEEN 15 AND 25 INTO TABLE TS.DBF
UPDATE 图书 SET 单价 = 单价+5
DELETE FROM 图书 WHERE 出版单位 = "农业出版社"

五、已有表文件:选课.dbf(学号(C),姓名(C),性别(C),课程号(C),课程名(C),成绩(N)) ,按照以下要求写出SQL语句:

       1、查询选修了“VF程序设计”的学生的学号、姓名、性别、课程名、成绩,并将查询结果输出到表文件 stu.dbf 中;

       2、查询“王小丽”所选课程中成绩最高的成绩信息; 

       3、利用SQL命令插入记录("1010","张大兵","男", "105","营销技巧",89)。

       4、将表中成绩低于55分的所有记录加上删除标记。 

       提示:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT 学号、姓名、性别、课程名、成绩 FROM 选课.dbf WHERE 课程名 = "VF程序设计" INTO TABLE STU.DBF
SELECT MAX(成绩) RROM FROM 选课.dbf WHERE 姓名="王小丽"
INSERT INTO 选课.dbf(学号,姓名,性别,课程号,课程名,成绩)VALUES ("1010","张大兵","男", "105","营销技巧",89)
DELETE FROM 选课.dbf WHERE 成绩 < 55

六、已有表文件:Book(书号(C),书名(C),作者(C),借书证号(C),价格(N),借书日期(D),借阅者姓名(C)) ,按照以下要求写出SQL语句。

       1. 查询“李亮”所借图书的书名、作者、价格。 

       2. 查询所有图书的数量。

       3. 利用SQL命令插入记录("a101","大学英语","张荣轩","08101",25, {^2009/01/01} ,"王天磊");

       4. 将表中作者为“风华”的所有记录加上删除标记。 

       提示:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT 书名、作者、价格 FROM BOOK WHERE 作者 = "李亮"
SELECT 书名,COUNT(书名) FROM BOOK GROUP BY 书名
INSERT INTO Book VALUES ("a101","大学英语","张荣轩","08101",25, {^2009/01/01} ,"王天磊")
DELETE FROM BOOK WHERE 作者 = "风华"

七、已有表文件:成绩.dbf(学号(C),姓名(C),班级(C),英语(N),语文(N),数学(N)) ,按照以下要求写出SQL语句。

       1、查询“会计1”班英语最高分是多少;

       2、查询每个班级三门课程的总分,输出信息为:班级,英语总分,语文总分,数学总分;

       3、在成绩表中插入一条记录("080001","李明辉","自动化081",88,75,68)

       提示:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT MAX(英语) FROM 成绩.dbf  WHERE 班级 = "会计1"
SELECT 班级,SUM(英语) AS 英语总分,SUM(语文) AS 语文总分,SUM(数学)AS 数学总分 FROM 成绩.dbf BROUP BY 班级
INSERT INTO 成绩.dbf VALUES ("080001","李明辉","自动化081",88,75,68)

八、已有表文件:选课.dbf(学号 C(6),课程号 C(3),成绩 N(3)) ,按照以下要求写出SQL语句。

       1、按成绩由低到高的顺序输出:课程号为101的学号、课程号和成绩信息;

       2、求各门课程的平均成绩,显示结果是课程号、平均成绩;

       3、在选课表中插入一条记录("080010","103",88);

       4、将学号为080001且课程号为101的记录的成绩改为100分。

       提示:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT 学号,课程号,成绩 FROM 选课.dbf WHERE 课程号 = "101"
SELECT 课程号,AVG(成绩) AS 平均成绩 FROM 选课.dbf GROUP BY 课程号
INSERT INTO 选课.dbf VALUES ("080010","103",88)
UPDATE 选课.dbf SET 成绩 = 100 WHERE 学号 = "080001" 课程号 = "101"

九、已有表文件:  学生(学号(C),姓名(C),性别(C),出生日期(D),所在学院(C)),按照以下要求写出SQL语句。

       1、查询经管学院学生的基本信息;

       2、统计经管学院的男女学生人数;

       3、向“学生”表中添加一条记录:(’020314’, ’张三’, ’男’, {^1982/07/01},’软件学院’)

       4、将学生表中的出生日期为{^1930/01/01}的记录加上删除标记。

       注意:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT * FROM 学生 WHERE 所在学院 = "经管学院"
SELECT 性别,COUNT(性别) AS 人数 FROM 学生 BROUP BY 性别
INSERT INTO 学生 VALUES ("020314","张三","男", {^1982/07/01},"软件学院")
DELETE FROM 学生 WHERE 出生日期 = {^1930/01/01}

十、已有表文件,学生(学号(C),姓名(C),性别(C),出生日期(D),学校编号(C)); 成绩(学号(C),语文(N),数学(N),英语(N),总分(N));按照以下要求写出SQL语句(单表查询)。

       1、从成绩表中查询语文成绩大于或等于70且小于或等于90分的学生的学号、语文成绩,列标题显示为学号和语文成绩。

       2、从成绩表中查询学生的学号、各科成绩及总分,查询结果按照 总分 的降序排序,并输出到表文件stu.dbf中。

       3、从学生表中分别统计各学校的学生人数。

       注意:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT 学号,语文 AS 语文成绩 FROM 成绩 WHERE 语文 >= 70 AND 语文 <= 90
SELECT 学号,语文,数学,英语,总分 FROM 成绩  ORDER BY 总分 DESC INTO TABLE STU.DBF
SELECT 学校编号,COUNT(学校编号) AS 学生人数 FROM 学生 GROUP BY 学校编号

十一、已有表文件,

       学生(学号(C),姓名(C),性别(C),出生日期(D),学校编号(C));

       成绩(学号(C),语文(N),数学(N),英语(N),总分(N));

       按照以下要求写出SQL语句。

       1、查询学生表中出生日期在1980年至1985之间的学生的学号、姓名、性别和出生日期等信息;

       2、在成绩表中查询数学良好(75~85分)的学生的学号、语文、数学、英语和总分信息,并将查询结果输出到数组 aa中;

       3、在成绩表中求出所有学生的语文、数学、英语的平均成绩,显示结果为语文平均分数学平均分、英语平均分。

       注意:为了便于批卷,命令动词和子句均使用小写并写出完整的命令,命令前不用标注题号。

SELECT 学号,姓名,性别,出生日期 FROM 学生 WHERE YEAR(出生日期) BETWEEN 1980 AND 1985
SELECT 学号,语文,数学,英语,总分 FROM 成绩 WHERE 数学 BETWEEN 75 AND 85 AYYAY AA
SELETE AVG(语文) AS 语文平均分,AVG(数学) AS 数学平均分,AVG(英语) AS 英语平均分 FROM 成绩

十二、现有的关系数据库如下所示:

       数据库名称:Studb数据库,有学生表S、课程表C、课程表SC;

       S  (Sno(学号)、Sname(学生名)、Ssex(性别)、Sbirthday(生日)、Sclass(班级名称))

       C  (Cno(课程号)、Cname(课程名)、Ctype(课程类型)、CT(学分)、Tno(教师号))

       SC (Sno(学号), Cno(课程号), Score (成绩))

       使用SQL语句完成以下查询:

       1、查询成绩表中成绩记录人数大于3的各课程的人数;

       2、查询学号10701001的学生所修读的课程名、成绩;

       3、查询 10701 班的学生的所有成绩及格的学生名、课程名、成绩;

       4、查询班级名称不是电子200701、电子200702、机电200701、机电200702的学生的学号、课程号及成绩;

       5、查询与学号为10701001学生的同班学生的学号、课程号及成绩;

       6、查询课程表的课程号为 00100001 的课程名和学分;

       7、查询所有学分等于4的课程的课程号和课程名;

       8、查询成绩表中成绩小于80分或大于90分的学生号、课程名、成绩;

       9、查询成绩表中课程号为 00100001 的学生号、课程号和成绩,结果按成绩升序排列;

      10、查询成绩表中学生号为 10701001 的学生名、课程号和成绩,要求结果集中各栏标题分别为“学生名”、“课程号”和“成绩”;

       11、查询所有基础课程的课程号和课程名;

       12、查询所有课程名中含“电”的课程的课程号和课程名;

       13、查询成绩在80-90之间的学生的学生号、课程号、成绩;

       14、查询成绩表中课程号为 00100001 的学生号、课程号和成绩,结果按学生号升序和成绩降序排序;

       15、查询所有选修了课程的学生号,要求无重复;

       16、查询成绩表中各门课程的最高分,要求大于90分;

       17、查询“高等数学”课程所有的学号、学生名、课程号及成绩;

       18、查询班级名称为电子200701,电子200702,机电200701,机电学生200702的学生的学号、课程号及成绩;

       19、查询20702班比10701班所有学生都要小的学生的学号、课程号和成绩;

       20、查询比所有10701班学生的平均分高的学生的学号、课程号和成绩;

猜你喜欢

转载自blog.csdn.net/qq_38328378/article/details/81071230