MySQL数据库实验二 数据基本查询

★观前提示:本篇内容为mysql数据库实验,代码内容经测试过,可能一小部分有所疏漏,也有会不符合每个人实验的要求的地方,因此以下内容建议仅做思路参考,。

一、实验目的

1.掌握SQL查询语句的一般格式 。
2.掌握简单数据查询操作。
3.熟练掌握各种查询条件的表示。
4.掌握排序和分组操作在SQL语句中的实现。
5.掌握集函数的使用。

二、实验要求

借助SQL语言用各种查询条件完成指定的查询操作。

★温馨提示:以下内容均已经过测试,不过难免会有疏漏,但是代码实现大多数思路及实现经测验都是正确的。本节内容在命令行上实现,之后实验内容均在navicat数据库管理工具上实现

三、实现内容及步骤

(1)查询全体学生的学号和姓名。

SELECT sno,sname 
FROM student;

(2)查询全体学生的详细记录。

SELECT * 
FROM student;

(3)查询软件学院的学生姓名、年龄、系别。

SELECT sname,sage,sinstitue
FROM student
WHERE sinstitue='计软学院';

(4)查询所有选修过课程的学生学号(不重复)。

SELECT DISTINCT sno
FROM sc
WHERE cno is NOT NULL;

5)查询考试不及格的学生学号(不重复)。

SELECT DISTINCT sno
FROM sc
WHERE grade<60;

(6)查询不是软件学院、计算机系的学生性别、年龄、系别。

SELECT ssex,sage,sdept
FROM student
WHERE sinstitue NOT LIKE '计软学院' AND sdept NOT LIKE '计科';

(7)查询年龄18-20岁的学生学号、姓名、系别、年龄。

SELECT sno,sname,sdept,sage
FROM student
WHERE sage BETWEEN 18 AND 20;

(8)查询姓刘的学生情况。

SELECT *
FROM student
WHERE sname LIKE '刘%';

(9)查询姓刘或姓李的学生情况。

SELECT *
FROM student
WHERE sname LIKE '刘%' OR sname LIKE '李%';

(10)查询姓刘且名字为两个字的学生情况。

SELECT *
FROM student
WHERE sname LIKE '刘_';

(11)查询1983年以后出生的学生姓名。

SELECT sname
FROM student
WHERE YEAR(scome)>1983;

(12)创建表 studentgrad(sno,mathgrade,englishigrade,chinesegrade)
计算学生各科总成绩并赋予别名。

SELECT mathgrade + englishgrade + chinesegrade AS '总成绩'
FROM studentgrade;

(13)利用内部函数 year()查找软件学院学生的出生年份。

SELECT YEAR(scome)
FROM student
WHERE sinstitue = '计软学院';

(14)利用字符转换函数实现字符联接。Select sname + ‘年龄为’+cast(sage as char(2))+’岁’ From student;

SELECT CONCAT(sname,'年龄为',CAST(sage AS char(2)),'岁')
FROM student;

(15)查询全体学生情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。

SELECT *
FROM student
ORDER BY sdept ASC,sage DESC;

(16)查询学生总人数。

SELECT COUNT(DISTINCT sno)
FROM student;

(17)查询选修了课程的学生人数。

SELECT COUNT(DISTINCT sno)
FROM sc
WHERE cno IS NOT NULL;

(18)查询选修了7号课程的学生总人数和平均成绩。

SELECT COUNT(sno) AS '总人数',AVG(grade) AS '平均成绩'
FROM sc
WHERE cno = '1';

(19)查询选修6号课程学生的最好成绩。

SELECT MAX(grade)
FROM sc
WHERE cno='6';

(20)查询每个系的系名及学生人数。

SELECT sdept,COUNT(sno)
FROM student
GROUP BY sdept;

(21)查找每门课的选修人数及平均成绩。

SELECT cno,COUNT(sno),AVG(grade)
FROM sc
GROUP BY cno;

(22)查找没有先修课的课程情况。

SELECT *
FROM course
WHERE cpno IS NULL;

四、实验总结

1、掌握了SQL查询语句的一般格式,简单数据查询操作。

2、能够熟练地进行各种查询条件的表示。

3、基本掌握了排序和分组操作在SQL语句中的实现、以及集函数的使用。

2022.6.14记录:Code_流苏(CSDN)
如有任何疑问,评论回复,看到即回,欢迎大家多多交流学习!
★以上实验内容仅供参考。

猜你喜欢

转载自blog.csdn.net/qq_51646682/article/details/125270269