mysql 性别以女生升序_MySQL数据库实验:任务三 数据库的单表查询设计

本文详细介绍了MySQL数据库的单表查询设计,包括简单查询、按条件查询(如比较大小、IN、BETWEEN AND、空值、LIKE等)以及高级查询(如聚集函数、分组查询、LIMIT限制和排序)。通过一系列具体的操作示例,如查询特定学号、学分范围、性别等,帮助读者掌握MySQL查询技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务三 数据库的单表查询设计

文章目录

任务三 数据库的单表查询设计

【实训目的与要求】

【实训原理】

【实训步骤】

一、简单查询

二、按条件查询

1.比较大小查询

2.带in关键字的查询(确定集合)

3.带BETWEEN AND关键字的查询(确定范围)

4.空值查询

5.带LIKE关键字的查询(字符匹配)

6.带AND关键字的查询(多重条件查询)

7.带OR关键字的查询(多重条件查询)

三、高级查询

1.聚集函数

2.分组查询

3.使用LIMIT限制查询结果的数量

4.对查询结果排序

【实训总结】

【实训目的与要求】

1、 掌握简单查询,会使用SELECT语句查询所有字段和指定的字段;

2、 掌握条件查询,会使用运算符以及不同的关键字进行查询;

3、 掌握高级查询,会使用聚合函数查询、分组查询等;

4、 学会为表和字段起别名。

【实训原理】

MySQL单表查询。

【实训步骤】

参考任务二中提供的表数据内容,利用SELECT命令查询数据库表中的数据。参考教材《数据库系统概论》P89-115的例题,以及《MySQL数据库入门》第4章内容。

一、简单查询

(选择表中若干列,给表或字段起别名)

操作student表

c8566e3f04fb230549a4b6671b582f3f.png

(1)功能:指定查询学号和姓名列

命令:

select SNo,SName from student;

截图:

ed6f6057e164631756564a0fae6da22e.png

(2)功能:给SNo、SName、SBir起别名为id、Name和Birthday

命令:

select SNo id,SName Name,SBir Birthday

from student;

截图:

38f63a87ce97bd20c1b6ca44ac36be0d.png

二、按条件查询

1.比较大小查询

(1)功能:查询student表中id为16044905的学生姓名

命令:

select SNo,SName

from student

where SNo="16044905";

截图:

4c4d8cbd8f53dfb5a3950736ec5176a5.png

(2)功能:查询Scredits学分大于等于10的学号SNo和姓名SName

命令:

select SNo,SName,Scredits

from student

where Scredits>=10;

截图:

3657be0199a22bc279e8d243d159fabd.png

2.带in关键字的查询(确定集合)

(1)功能:查询student表中学号为16041101,16041102,16041103的一些信息

命令:

select SNo,SName,SSex,Scredits

from student

where SNo IN("16041101","16041102","16041103");

截图:

0a8f886cf2ea53b329432454d0eccb62.png

(2)功能:查询sc表中CNo为00001,00008,00009的信息

命令:

select *

from sc

where CNo IN("00001","00008","00009");

截图:

a0f1f7d4f381e458a9774d39b14a854a.png

3.带BETWEEN AND关键字的查询(确定范围)

(1)功能:查询course表中CTerm值在1~3之间的课程名和课程号信息

命令:

select CNo,CName

from course

where CTerm BETWEEN 1 AND 3;

截图:

2b4e3386310b18eb73b92a39ac5be0e3.png

(2)功能:查询sc表中成绩在80.0到100.0之间的信息

命令:

select *

from sc

where Score BETWEEN 80.0 AND 100.0;

截图:

21adbbc4c41399d479c7f7912147c973.png

4.空值查询

(1)功能:查询student表中Scredits为空值的信息

命令:

SELECT *

FROM student

WHERE Scredits IS NULL;

截图:

8ceaa337e907316993593817d6bd657b.png

(2)功能:查询sc表中成绩不为空的SNo和CNo

命令:

SELECT SNo,CNo

FROM sc

WHERE Score IS NOT NULL;

截图:

a3ec2321b4594a3a860dcb355bd8d7ff.png

5.带LIKE关键字的查询(字符匹配)

(1)功能:查询student表中姓名字段值姓“洪”的学生的学号,姓名和学分信息

命令:

SELECT SNo,SName,Scredits

FROM student

WHERE SName LIKE "洪%";

截图:

d8fe1a2e0fb04b62f361d487d9b7dab4.png

(2)功能:查询student表中的女生信息

命令:

SELECT *

FROM student

WHERE SSex LIKE "女";

截图:

a938a510741c2f3e35958252035a865d.png

6.带AND关键字的查询(多重条件查询)

(1)功能:查询student表中性别为女且学分大于等于7的学号,姓名,性别以及学分

命令:

SELECT SNo,SName,SSex,Scredits

FROM student

WHERE SSex="女" AND Scredits<=7;

截图:

f0bd7aa61d31508db5ec27e6d0fad62e.png

(2)功能:查询sc表中课程号为00005和00008以及分数在70分以上的学生信息

命令:

SELECT *

FROM sc

WHERE CNo IN("00005","00008") AND Score>70;

截图:

05c381d1bcc41896806619fb6f637ea5.png

7.带OR关键字的查询(多重条件查询)

(1)功能:查询student表中姓名字段以“洪”开头或者性别为男生的学生信息

命令:

SELECT *

FROM student

WHERE SName LIKE "洪%" OR SSex="男";

截图:

c79e9ebe363ad2047c48e1e4171e84d7.png

(2)功能:查询course表中课时在54学时以上以及CTerm在2~5之间的学生学号,姓名,学时和学期

命令:

SELECT CNo,CName,CTime,CTerm

FROM course

WHERE CTime>54 OR CTerm>2 AND CTerm<5;

截图:

68222a85f4bf6b5b4b455354ea2cca54.png

三、高级查询

1.聚集函数

(1)功能:查询sc表中Score字段的平均分数

命令:

SELECT AVG(Score)

FROM sc;

截图:

e1c6261f800e7a10f899f01795337fd9.png

(2)功能:查询course表中课时数最多的数量

命令:

SELECT MAX(CTime)

FROM course;

截图:

845b80e2c42198a009480b7caf1b2260.png

2.分组查询

(1)功能:将student表按Scredits字段分组

命令:

SELECT *

FROM student

GROUP BY Scredits;

截图:

7d0ffb0db34e67d31ad3c3f3e914173d.png

(2)功能:将course表按照CTime分组,查询出CCredits字段值之和小于100的分组

命令:

SELECT SUM(CCredits),CTerm

FROM course

GROUP BY CTime

HAVING SUM(CCredits)<100;

截图:

3122afd8126521145637d15e471e5c1e.png

3.使用LIMIT限制查询结果的数量

(1)功能:查询sc表前四条记录

命令:

SELECT *

FROM sc LIMIT 4;

截图:

6b372efcf24e6f65bc9415c10d6da845.png

(2)功能:查询course表中CTerm字段从第3位到第5位的学生(从高到低)

命令:

SELECT *

FROM course

ORDER BY CTerm DESC LIMIT 2,3;

截图:

e04fc6d20890d8be959aad2927670e17.png

4.对查询结果排序

(1)功能:将course表中的CTerm按照降序排序

命令:

SELECT *

FROM course

ORDER BY CTerm DESC;

截图:

481c0bd51594de77ecaf4844cf5c22f7.png

(2)功能:对sc表的Score进行升序排序

命令:

SELECT *

FROM sc

ORDER BY Score ASC;

截图:

77f44c8704b63699e08e8ba323ee7b3c.png

【实训总结】

1.简单查询

2.按条件查询

88363e665fceb1246f16747c7fe80df4.png

3.高级查询

294a3ad122f2b330184f68d6e37645a7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值