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

本文档介绍了如何通过MySQL进行SQL查询实践,包括基础数据检索、条件筛选、排序、分组、集函数应用,以及高级操作如创建表、计算总成绩等,适合初学者和进阶者参考。

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

★观前提示:本篇内容为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)
如有任何疑问,评论回复,看到即回,欢迎大家多多交流学习!
★以上实验内容仅供参考。

实验 基本数据查询 一、实验目的 1.熟悉大型数据库实验环境,以MS SQL SERVER为例。 2.掌握MS SQL SERVER的查询分析器的用法。 3.能够完成对单表的查询操作。 4.能够完成对多表的联合查询操作。 5.能够完成带数据聚合函数的查询实验内容 (1)以实验一中创建的数据库abc作为查询对象,完成如下查询要求: 1.查询2001年12月31日之后的销售情况,要求列出销售人员姓名、销售的产品名以及销售日期。 2.查询销售电冰箱的销售人员的最大年龄。 3.统计每个产品的销售总数量,要求只列出销售数量前3名的产品号和销售总数量。 4.查询销售人员的销售情况,包括有销售记录的销售人员和没有销售记录的销售人员,要求列出销售人员姓名、销售的产品号、销售数量和销售日期。 5.列出2000年1月1日以后销售总量第一的产品的名称和生产厂家。 (2)以MS SQL SERVER的例子数据库pubs为查询对象,完成如下查询: 6.Pubs数据库:没有写过business或者popular_comp类型书籍的作者编号和姓名 7.Pubs数据库查询出版物价格在20元以上的作者编号和姓名 8.Pub数据库:版税大于80%且state=ks的作者信息 9.Pub数据库查询作者数量小于5的州 10.Pub数据库查询价格最高的书的作者,和他写的所有书的名称 11.Pub数据库查询销量较少的10本书的作者编写的所有书的书名 12.Pubs数据库查询写了价格PRICE高于平均价的书,而且所在的州STATE=CA的作者名称,图书名称,价格。 注意:如果数据库服务器中的pubs例子数据库被破坏,请用SQL Server 2000 Sample Databases.rar中的instpubs.sql还原
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code_流苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值