mysql查询全体学⽣的详细记录_MySQL数据库实验⼆:单表
查询
实验⼆  单表查询
⼀、实验⽬的
理解SELECT语句的操作和基本使⽤⽅法。
⼆、实验环境
是MS SQL SERVER 2005的中⽂客户端。
三、实验⽰例
1、查询全体学⽣的姓名、学号、所在系。
SELECT Sname,S#,Sdept
FROM S;
2、查询全体学⽣的详细记录。
SELECT  *
FROM S;
3、查全体学⽣的姓名及其出⽣年份。
SELECT Sname,2011-Sage    /*假定当年的年份为2011年*/
FROM S;
4、查询选修了课程的学⽣学号。
SELECT S#  FROM SC;
等价于:
SELECT ALL  S#  FROM SC;
指定DISTINCT关键词,去掉表中重复的⾏
SELECT DISTINCT S#
FROM SC;
5、 查询所有年龄在20岁以下的学⽣姓名及其年龄。
SELECT Sname,Sage
FROM    S
WHERE Sage < 20;
6、  查询考试成绩有不及格的学⽣的学号。
SELECT DISTINCT S#
FROM  SC
WHERE Grade<60;
7、 查询年龄在20~23岁(包括20岁和23岁)之间的学⽣的姓名、系别和年龄
SELECT Sname,Sdept,Sage
FROM    S
WHERE  Sage BETWEEN 20 AND 23;
8、查询所有姓刘学⽣的姓名、学号和性别。
SELECT Sname,S#,Ssex
FROM S
WHERE  Sname LIKE ‘刘%’;
9、查询姓"欧阳"且全名为三个汉字的学⽣的姓名。
SELECT Sname
FROM  S
WHERE  Sname LIKE '欧阳__';
10、 某些学⽣选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学⽣的学号和相应的课程号。SELECT S#,C#
FROM  SC
WHERE  Grade IS NULL
11、查询计算机系年龄在20岁以下的学⽣姓名。
SELECT Sname
distinct查询FROM  S
WHERE Sdept= 'CS' AND Sage<20;
12、 查询选修了3号课程的学⽣的学号及其成绩,查询结果按分数降序排列。
SELECT S#,Grade
FROM  SC
WHERE  C#= ' 3 '
ORDER BY Grade DESC;
13、查询全体学⽣情况,查询结果按所在系的系号升序排列,同⼀系中的学⽣按年龄降序排列。
SELECT  *
FROM  S
ORDER BY Sdept,Sage DESC;
14、 计算1号课程的学⽣平均成绩。
SELECT AVG(Grade)
FROM SC
WHERE C#= ' 1 ';
15、 求各个课程号及相应的选课⼈数。
SELECT C#,COUNT(S#)
FROM    SC
GROUP BY C#;
16、 查询选修了3门以上课程的学⽣学号。
SELECT S#
FROM  SC
GROUP BY S#
HAVING  COUNT(*) >3;
四、实验内容与步骤
1、检索LIU⽼师所授课程的课程号和课程名。
2、检索年龄⼤于23岁的男学⽣的学号和姓名。
3、在表C中统计开设课程的教师⼈数。
4、 统计每个学⽣选修课程的门数(超过5门的学⽣才统计)。要求输出学⽣学号和选修门数,查询结果按门数降序排列,若门数相同,按学号升序排列。
5、 在表SC中检索成绩为空值的学⽣学号和课程号。
6、 检索姓名以L打头的所有学⽣的姓名和年龄。
7、查询年龄不在20~23岁之间的学⽣姓名、系别和年龄
8、查询既不是信息系、数学系,也不是计算机科学系的学⽣的姓名和性别。
9、查询所有不姓刘的学⽣姓名。
10、查所有有成绩的学⽣学号和课程号。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。