1、 掌握简单查询,会使用SELECT语句查询所有字段和指定的字段;
2、 掌握条件查询,会使用运算符以及不同的关键字进行查询;
3、 掌握高级查询,会使用聚合函数查询、分组查询等;
4、 学会为表和字段起别名。
MySQL单表查询。
参考任务二中提供的表数据内容,利用SELECT命令查询数据库表中的数据。参考教材《数据库系统概论》P89-115的例题,以及《MySQL数据库入门》第4章内容。
(选择表中若干列,给表或字段起别名)
操作student表
(1)功能:指定查询学号和姓名列
命令:
select SNo,SName from student;
(2)功能:给SNo、SName、SBir起别名为id、Name和Birthday
命令:
select SNo id,SName Name,SBir Birthday
from student;
(1)功能:查询student表中id为16044905的学生姓名
命令:
select SNo,SName
from student
where SNo="16044905";
(2)功能:查询Scredits学分大于等于10的学号SNo和姓名SName
命令:
select SNo,SName,Scredits
from student
where Scredits>=10;
(1)功能:查询student表中学号为16041101,16041102,16041103的一些信息
命令:
select SNo,SName,SSex,Scredits
from student
where SNo IN("16041101","16041102","16041103");
(2)功能:查询sc表中CNo为00001,00008,00009的信息
命令:
select *
from sc
where CNo IN("00001","00008","00009");
(1)功能:查询course表中CTerm值在1~3之间的课程名和课程号信息
命令:
select CNo,CName
from course
where CTerm BETWEEN 1 AND 3;
(2)功能:查询sc表中成绩在80.0到100.0之间的信息
命令:
select *
from sc
where Score BETWEEN 80.0 AND 100.0;
(1)功能:查询student表中Scredits为空值的信息
命令:
SELECT *
FROM student
WHERE Scredits IS NULL;
(2)功能:查询sc表中成绩不为空的SNo和CNo
命令:
SELECT SNo,CNo
FROM sc
WHERE Score IS NOT NULL;
(1)功能:查询student表中姓名字段值姓“洪”的学生的学号,姓名和学分信息
命令:
SELECT SNo,SName,Scredits
FROM student
WHERE SName LIKE "洪%";
(2)功能:查询student表中的女生信息
命令:
SELECT *
FROM student
WHERE SSex LIKE "女";
(1)功能:查询student表中性别为女且学分大于等于7的学号,姓名,性别以及学分
命令:
SELECT SNo,SName,SSex,Scredits
FROM student
WHERE SSex="女" AND Scredits<=7;
(2)功能:查询sc表中课程号为00005和00008以及分数在70分以上的学生信息
命令:
SELECT *
FROM sc
WHERE CNo IN("00005","00008") AND Score>70;
(1)功能:查询student表中姓名字段以“洪”开头或者性别为男生的学生信息
命令:
SELECT *
FROM student
WHERE SName LIKE "洪%" OR SSex="男";
(2)功能:查询course表中课时在54学时以上以及CTerm在2~5之间的学生学号,姓名,学时和学期
命令:
SELECT CNo,CName,CTime,CTerm
FROM course
WHERE CTime>54 OR CTerm>2 AND CTerm<5;
(1)功能:查询sc表中Score字段的平均分数
命令:
SELECT AVG(Score)
FROM sc;
(2)功能:查询course表中课时数最多的数量
命令:
SELECT MAX(CTime)
FROM course;
(1)功能:将student表按Scredits字段分组
命令:
SELECT *
FROM student
GROUP BY Scredits;
(2)功能:将course表按照CTime分组,查询出CCredits字段值之和小于100的分组
命令:
SELECT SUM(CCredits),CTerm
FROM course
GROUP BY CTime
HAVING SUM(CCredits)<100;
(1)功能:查询sc表前四条记录
命令:
SELECT *
FROM sc LIMIT 4;
(2)功能:查询course表中CTerm字段从第3位到第5位的学生(从高到低)
命令:
SELECT *
FROM course
ORDER BY CTerm DESC LIMIT 2,3;
(1)功能:将course表中的CTerm按照降序排序
命令:
SELECT *
FROM course
ORDER BY CTerm DESC;
(2)功能:对sc表的Score进行升序排序
命令:
SELECT *
FROM sc
ORDER BY Score ASC;