数据库作业6:SQL练习3

查询学号为201215121的学生的详细情况

SELECT *
FROM Student
WHERE Sno LIKE ‘201215121’;

还有

SELECT *
FROM Student
WHERE Sno = ‘201215121’;

两次输入结果一样
查询所有姓刘学生的姓名、学号和性别。

SELECT Sname, Sno, Ssex
FROM Student
WHERE Sname LIKE ‘刘%’;

显示全是姓刘的同学
查询姓"欧阳"且全名为三个汉字的学生的姓名。`

SELECT Sname
FROM Student
WHERE Sname LIKE ‘欧阳_’;

数据库字符集为ASCII时,一个汉字需要两个_
数据库字符集为 GBK 时,一个汉字需要一个_

是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。
查询名字中第二个字为"阳"字的学生的姓名和学号。

SELECT Sname,Sno
FROM Student
WHERE Sname LIKE ‘_阳%’;

所有姓欧阳的都在
查询所有不姓刘的学生姓名、学号和性别。

SELECT Sname,Sno,Ssex
FROM Student
WHERE Sname NOT LIKE ‘刘%’;

无异常
查询DB_Design课程的课程号和学分。

SELECT Cno,Ccredit
FROM Course
WHERE Cname LIKE 'DB_Design’ESCAPE ‘’;
显示两项内容Cno、Ccredit

查询以"DB_"开头,且倒数第3个字符为 i的课程的详细情况。

SELECT *
FROM Course
WHERE Cname LIKE 'DB_%i__'ESCAPE ‘’;

DB_Design课程及其信息出现。

某些学生选修课程后没有参加考试,所以有选课记录,但没 有考试成绩。查询缺少成绩的学生的学号和相应的课程号。

SELECT Sno,Cno
FROM SC
WHERE Grade IS NULL

无异常
查所有有成绩的学生学号和课程号。

SELECT Sno,Cno
FROM SC
WHERE Grade IS NOT NULL

多重条件的查询
逻辑运算符:AND和 OR来连接多个查询条件
AND的优先级高于OR,可以用括号改变优先级。
查询计算机系年龄在20岁以下的学生姓名。

SELECT Sname
FROM Student
WHERE Sdept='CS’AND Sage<20

主要对象为年龄

查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。

SELECT Sno,Grade
FROM SC
WHERE Cno= ’ 3 ’
ORDER BY Grade DESC;

无异常
查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。

SELECT *
FROM Student
ORDER BY Sdept ASC, Sage DESC;

查询学生总人数。

SELECT COUNT(*)
FROM Student;

无异常

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

SELECT COUNT(DISTINCT Sno)
FROM SC;

1号课程的学生平均成绩。

SELECT AVG(Grade)
FROM SC
WHERE Cno=‘1’;

无异常
查询选修1号课程的学生最高分数。

SELECT MAX(Grade)
FROM SC
WHERE Cno=‘1’;

查询学生201215012选修课程的总学分数。
SELECT SUM(Ccredit)
FROM SC,Course
WHERE Sno=‘201215122’ AND SC.Cno=Course.Cno;
具体到一个人

【例3.46】求各个课程号及相应的选课人数。

SELECT Cno,COUNT(Sno)
FROM SC
GROUP BY Cno;

无异常
查询选修了3门以上课程的学生学号。

SELECT Sno
FROM SC
GROUP BY Sno
HAVING COUNT(*)>3;

多加一个条件即可

查询平均成绩大于等于90分的学生学号和平均成绩

SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno
HAVING AVG(Grade)>=80;
原文地址:https://www.cnblogs.com/hzcya1995/p/13285174.html