实验二:SQL Sever中的单表查询

 

实验内容与完成情况(记录所有的实验过程):

(1) 按照《数据库系统概论》(第五版)P79页的学生课程数据库及数据实现以下查询:

1.查询数学系(‘MA’)年龄不到21岁的所有女生的姓名和出生年份。

SELECT Sname,year(getdate())-Sage Birth

From Student

WHERE Sage<21 AND Ssex='女' AND Sdept='MA';

2.查询已被学生所选课的课号。

SELECT DISTINCT Cno

From SC;

3.查询所有有成绩的学生学号和课程号,并为各列分别取相应的中文别名。

SELECT Sno 学号,Cno 课程号

FROM SC;

4.查询选修了’2’号课程的成绩在80~90分(包括80和90分)之间的学生的学号和成绩。

SELECT Sno,Grade

FROM SC

WHERE Grade BETWEEN 80 AND 90 AND Cno=2;

5.查询姓名中包含‘晨’这个汉字的学生信息。

SELECT *

FROM Student

WHERE Sname LIKE '%晨%';

6.查询姓名以‘立’字结尾,包含二个汉字的学生信息。

SELECT *

FROM Student

WHERE Sname LIKE '_立';

7.根据student表,统计每一年龄组的男生人数,只显示那些男生人数超过10人的年龄组。

SELECT Sage,COUNT(*) 人数

FROM Student

WHERE Ssex='男'

GROUP BY Sage

HAVING COUNT(*)>10;

8.根据SC表,检索学生学号和平均成绩。

SELECT Sno,AVG(Grade) 平均成绩

FROM SC

GROUP BY Sno;

 

 

(2) 按照《数据库系统概论》P70-71页中的SPJ数据库及数据实现以下查询:

1.查询地点在‘天津’、‘上海’的供应商代码和供应商名字。

SELECT SNO 供应商代码,SNAME 供应商

FROM S

WHERE CITY IN('上海','天津');

2.查询各个供应商所供应的零件的总数,要求对查询结果降序显示

SELECT SNO 供应商,SUM(QTY) 供应数

FROM SPJ

GROUP BY SNO

ORDER BY SUM(QTY)DESC;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值