实验2:数据查询

一、实验目的

1. 掌握使用SQL的SELECT语句进行基本查询的方法。

2. 掌握使用SELECT语句进行条件查询的方法。

3. 掌握SELECT语句的GROUP BY、ORDER BY以及UNION子句的作用和使用方法。

4. 掌握嵌套查询的方法。

5. 掌握连接查询的操作方法。

二、实验内容

1. 在studentsdb数据库中使用SELECT语句进行基本查询。

(1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。

(2)查询student_info表学号为 0002的学生的姓名和家庭住址。

(3)查询student_info表所有出生日期在95年以后的女同学的姓名和出生日期。

2. 使用select语句进行条件查询。

(1)在grade表中查询分数在70-80范围内的学生的学号、课程编号和成绩。

(2)在grade表中查询课程编号为0002的学生的平均成绩。

(3)在grade表中查询选修课程编号为0003的人数和该课程有成绩的人数。

(4)查询student_info的姓名和出生日期,查询结果按出生日期从大到小排序。

(5)查询所有姓名“张”的学生的学号和姓名。

3. 对student_info表,查询学生的学号、姓名、性别、出生日期及家庭住址,查询结果先按照性别的由小到大排序,性别相同的再按学号由大到小排序。

4. 使用GROUP BY子句查询grade表中各个学生的平均成绩。

5. 使用UNION运算符针student_info表中姓“刘”的学生的学号、姓名与姓“张”的学生的学号、姓名返回在一个表中。

6. 嵌套查询

(1)在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生日期。

(2)使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。

(3)使用ANY子查询查找学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。

(4)使用ALL子查询查找学号为0001的学生的分数比学号为0002的学生的最高成绩还要高的课程编号和分数。

代码:

use studentsdb;
select  学号,姓名,出生日期 from student_info;

select 姓名,家族住址
from student_info
where 学号=0002;

select 姓名,出生日期
from student_info
where 性别 = '女' AND 出生日期 >= '1995-12-12';

select 学号,课程编号,分数
from grade
where 分数> 70 AND 分数 < 80;

select AVG(分数)AS '平均成绩'
from grade
where 课程编号='0002';

select COUNT(*)人数 from grade where 课程编号 ='0003' and 分数>0;

SELECT 姓名,出生日期
FROM student_info ORDER BY 出生日期 ;

select 姓名,学号
from student_info
where 姓名 like '张%';

SELECT 学号,姓名,性别,出生日期,家族住址 from student_info
order by 性别,学号 desc;

SELECT AVG(分数)as 平均成绩
FROM grade
GROUP BY 分数;

SELECT `学号`,`姓名` FROM student_info where 姓名 like '刘%' union select 学号, 姓名 from student_info where 姓名 like'张%';

select 姓名,出生日期 from student_info where 性别 in(
select 性别 from student_info where 姓名='刘东阳');

SELECT `学号`,`姓名`,`性别` FROM student_info WHERE `学号`IN(
SELECT (`学号`) FROM grade WHERE `课程编号`='0002'OR `课程编号`='0005');

SELECT 课程编号,分数 
FROM grade  WHERE 学号='0001'AND 分数>ANY
(SELECT MIN(分数) FROM grade WHERE 学号='0002');

SELECT 课程编号, 分数
FROM grade
WHERE 学号 = '0001' AND 分数 > ALL(SELECT 分数 FROM grade WHERE 学号 = '0002');

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实验二 基本数据查询 一、实验目的 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还原
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值