SQL 语句强化练习题及答案 一、简单查询 1、列出全部学生的信息。 SELECT * FROM 学生 2、列出软件专业全部学生的学号及姓名。 SELECT 学号,姓名 FROM 学生 WHERE 专业="软件" 3、列出所有必修课的课号。 SELECT DISTINCT 课号 FROM 必修课 4、求 1 号课成绩大于 80 分的学生的学号及成绩,并按成绩由高到低列出。 SELECT 学号,成绩 FROM 选课 WHERE 课号="1" AND 成绩>80 ORDER BY 成绩 DESC 5、列出非软件专业学生的名单。 方法一:SELECT 姓名 FROM 学生 WHERE 专业<>"软件" 方法二:SELECT 姓名 FROM 学生 WHERE NOT 专业="软件" 方法三:SELECT 姓名 FROM 学生 WHERE 专业!="软件" 6、查询成绩在 70~80 分之间的学生选课得分情况 方法一:SELECT * FROM 选课 WHERE 成绩>=70 AND 成绩<=80 方法二:SELECT * FROM 选课 WHERE 成绩 BETWEEN 70 AND 80 不在此范围内的查询:(注意写出和以下语句等价的语句) SELECT * FROM 选课 WHERE 成绩 NOT BETWEEN 70 AND 80 7、列出选修 1 号课或 3 号课的全体学生的学号和成绩。 方法一:SELECT 学号,成绩 FROM 选课 WHERE 课号="1" OR 课号="3" 方法二:SELECT 学号,成绩 FROM 选课 WHERE 课号 IN ("1","3") 相反条件查询:SELECT 学号,成绩 FROM 选课 WHERE 课号 NOT IN ("1","3") 8 、列出所有 9 8 级学生的学生成绩情况。 SELECT * FROM 选课 WHERE 学号 LIKE "98%" SELECT * FROM 选课 WHERE 学号 LIKE "98_ _ _ _" 相反条件查询:SELECT * FROM 选课 WHERE 学号 NOT LIKE "98%" 9 、列出成绩为空值(或不为空值)的学生的学号和课号。 答案一:SELECT 学号,课号 FROM 选课 WHERE 成绩 IS NULL 答案二:SELECT 学号,课号 FROM 选课 WHERE 成绩 IS NOT NULL 1 0 、求出所有学生的总成绩。 SELECT SUM(成绩) AS 总成绩 FROM 选课 1 1 、列出每个学生的平均成绩。 SELECT 学号,AVG(成绩) AS 平均成绩 FROM 选课 GROUP BY 学号 1 2 、列出各科的平均成绩、最高成绩、最低成绩和选课人数。 SELECT 课号,AVG(成绩) AS 平均成绩,MAX(成绩) AS 最高分,; MIN(成绩) AS 最低分,COUNT(学号) AS 选课人数 FROM 选课 GROUP BY 课号 二、连接查询 (一)简单连接 1 、列出选修 1 号...