MySQL实验作业_数据库实验四作业及答案
实验4 数据查询
⼀、 实验⽬的
1. 掌握使⽤Transact-SQL的SELECT语句进⾏基本查询的⽅法。
2. 掌握使⽤SELECT语句进⾏条件查询的⽅法。
3. 掌握嵌套查询的⽅法。
4. 掌握多表查询的⽅法。
5. 掌握SELECT语句的GROUP BY和ORDER BY⼦句的作业和使⽤⽅法。
6. 掌握联合查询的操作⽅法。
7. 掌握数据更新语句INSERT INTO、UPDATE、DELETE的使⽤⽅法。
⼆、 实验准备
1. 了解SELECT语句的基本语法格式和执⾏⽅法。
2. 了解嵌套查询的表⽰⽅法。
3. 了解UNION运算符的⽤法。
4. 了解SELECT语句的GROUP BY和ORDER BY⼦句的作⽤。
5. 了解IN、JOIN等⼦查询的格式。
6. 了解INSERT INTO、UPDATE、DELETE的格式与作⽤。
三、 实验内容及步骤
0. 创建studentsdb数据库及其相应表,并录⼊数据。 启动查询分析器,运⾏下⾯链接的代码即可。 创建数据库代码
1. 在studentsdb数据库中,使⽤下列SQL语句将输出什么? (1) SELECT COUNT(*) FROM grade
(2) SELECT SUBSTRING(姓名,1,2) FROM student_info
(3) SELECT UPPER('kelly')
(4) SELECT Replicate('kelly',3)
(5) SELECT SQRT(分数) FROM grade WHERE 分数>=85
(6) SELECT 2,3,POWER(2,3)
(7) SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE())
2. 在studentsdb数据库中使⽤SELECT语句进⾏基本查询。
(1) 在student_info表中,查询每个学⽣的学号、姓名、出⽣⽇期信息。
SELECT*FROMstudent_info
(2) 查询学号为0002的学⽣的姓名和家庭住址。
SELECT姓名,家庭住址FROMstudent_info
WHERE学号=0002
(3) 出所有男同学的学号和姓名。
SELECT学号,姓名FROMstudent_info
WHERE性别='男'
3. 使⽤SELECT语句进⾏条件查询
(1) 在grade表中查分数在80~90分为内的学⽣的学号和分数。
SELECT学号,分数FROMgrade WHERE分数BETWEEN 80 AND 90
(2) 在grade表中查询课程编号为0003的学⽣的平均分。
SELECTAVG(分数)AS平均分FROMgrade
WHERE课程编号=0003
(3) 在grade表中查询学习各门课程的⼈数。
SELECT课程编号,COUNT(*)AS⼈数 FROMgrade GROUPBY课程编号
(4) 将学⽣按出⽣⽇期由⼤到⼩排序。
SELECT学号,姓名,出⽣⽇期 FROMstudent_info ORDERBY出⽣⽇期ASC
(5) 查询所有姓“张”的学⽣的学号和姓名。
SELECT 学号,姓名 FROM student_info WHERE 姓名 LIKE '张%'
4. 嵌套查询
(1) 在student_info表中查与“刘卫平”性别相同的所有学⽣的姓名、出⽣⽇
期。
SELECT 姓名,出⽣⽇期
FROM student_info WHERE 性别=
(SELECT 性别
FROM student_info WHERE 姓名='刘卫平')
(2) 使⽤IN⼦查询查所修课程编号为0002、0005的学⽣学号、姓名、性别。
SELECT 学号,姓名,性别 FROM student_info
WHERE student_info.学号 IN
(SELECT 学号 FROM grade
WHERE 课程编号 IN ('0002', '0005'))
(3) 列出学号为0001的学⽣的分数⽐0002号的学⽣的最低分数⾼的课程编号和分数。
SELECT课程编号,分数FROMgrade
mysql中delete语句WHERE学号='0001'AND分数>ANY
(SELECT分数FROMgrade
WHERE学号='0002')
(4) 列出学号为0001的学⽣的分数⽐0002的学⽣的最⾼成绩还要⾼的课程编号和分数。
SELECT课程编号,分数 FROMgrade
WHERE学号='0001'AND分数>ALL (SELECT分数 FROMgrade
WHERE学号='0002')
5. 多表查询
(1) 查询分数在80~90范围内的学⽣的学号、姓名、分数。 SELECT student_info.学号,姓名,分数FROM student_info,grade
WHERE student_info.学号=grade.学号 AND 分数 BETWEEN 80 AND 90
(2) 查询学习“C语⾔程序设计”课程的学⽣的学号、姓名、分数。SELECT student_info.学号,姓名,分数
FROM student_info
INNER JOIN grade ON student_info.学号=grade.学号
INNER JOIN curriculum ON 课程名称='C语⾔程序设计'
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论