实验2-数据查询的简单操作

实验2-数据查询的简单操作
实验2-数据查询的简单操作

实验2数据库的简单查询

一、实验目的

掌握单表查询中各个子句(Select、From、Where、Group、Having、Order)的用法,特别要掌握比较运算符和逻辑运算符的使用。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

在已建立的数据库和数据表的基础上,用Select语句完成下列查询操作。

1、查询全体学生的学号和姓名。

SELECT sno,sname

FROM student;

2、查询全体学生的所有基本信息(仅针对Student表)。

SELECT*

FROM student;

3、对SC表查询全体学生的选课记录,在显示结果中为“Grade”列增加5分。SELECT sno,cno,grade=grade+5

FROM sc;

4、查询全体学生的学号和姓名,将原来的英文列名设置中文别名。

SELECT sno AS学号,sname AS姓名

FROM student;

5、显示所有选课学生的学号,去掉重复结果。

SELECT DISTINCT sno

FROM sc;

6、查询成绩在80分以上的学生选课记录。

SELECT*

FROM sc

WHERE grade>80;

7、查询经济系所有学生的学号和姓名。

SELECT sno,sname

FROM student

WHERE sdept='经济';

8、查询成绩在80~90分的学生选课记录。

SELECT*

FROM sc

WHERE grade BETWEEN 80 AND 90;

9、查询年龄不在22~25的学生记录。

SELECT*

FROM student

WHERE sage NOT BETWEEN 22 AND 25;

10、查询所有姓“刘”的学生记录。

SELECT*

FROM student

WHERE sname LIKE'刘%';

11、查询无考试成绩(成绩为空值)的学号、课程号。SELECT sno,cno

FROM sc

WHERE grade IS NULL;

12、查询考试成绩非空值的学号、课程号。

SELECT sno,cno

FROM sc

WHERE grade IS NOT NULL;

13、查询数学系年龄小于20岁的学生记录。

SELECT*

FROM student

WHERE sdept='数学'AND sage<20;

14、查询选修了“101”或“102”课程的选课记录。SELECT*

FROM sc

WHERE cno in('101','102');

15、查询学生总人数。

SELECT COUNT(DISTINCT sno)总人数

FROM student;

或者:

SELECT COUNT(*)总人数

FROM student;

16、查询选修了课程的学生人数。

SELECT COUNT(DISTINCT sno)人数

FROM sc;

17、查询选修了“101”课程的学生的平均成绩。

SELECT AVG(grade)avg

FROM sc

WHERE cno='101';

18、查询学号为“01003”的学生的考试总成绩。

SELECT SUM(grade)总成绩

FROM sc

WHERE sno='01003';

19、查询“101”课程的最高分和最低分。

SELECT MAX(grade)最高分,MIN(grade)最低分

FROM sc

WHERE cno='101';

20、查询每门课程的选课人数。

SELECT cno,COUNT(sno)人数

FROM sc

GROUP BY cno

21、查询每个学生的学号、选课数、平均成绩和总成绩。

SELECT sno,COUNT(cno)选课数,AVG(grade)avg,SUM(grade)SUM FROM sc

GROUP BY sno;

22、查询选课数超过2的学生学号及其选课数。

SELECT sno,COUNT(cno)选课数

FROM sc

GROUP BY sno

HAVING COUNT(*)>2;

23、查询所有学生信息,查询结果按年龄降序排列。(针对Student表操作)SELECT*

FROM student

ORDER BY sage DESC;

24、查询所有学生信息,查询结果按系名升序,同系学生按年龄降序排列。SELECT*

FROM student

ORDER BY sdept,sage DESC;

25、查询选课数超过2的学生学号及其选课数,查询结果按选课数降序排列。SELECT sno,COUNT(cno)选课数

FROM sc

GROUP BY sno

HAVING COUNT(*)>2

ORDER BY COUNT(cno)DESC;

相关主题
相关文档
最新文档