赞
踩
USE school;
-- 查询全体学生的学号与姓名
SELECT Sno,Sname FROM student;
-- 查询全体学生的学号、姓名、所在系
SELECT Sno,Sname ,Sdept FROM student;
-- 查询全体学生的详细记录
SELECT * FROM student;
-- 查询全体学生的姓名及其出生年份(注:2022-Sage)
SELECT Sname,2022-Sage FROM Student;
-- 查询全体学生姓名、出生年份和所在院系,要求用小写字母表示系名(注:Lower()函数)
SELECT Sname,2002-Sage,LOWER(Sdept) FROM Student;
-- 查询选修了课程的学生学号
SELECT Sno FROM SC;
-- 查询选修了课程的学生学号(去重)
SELECT DISTINCT Sno FROM SC;
-- 查询计算机科学技术全体学生的名单
SELECT Sname FROM student WHERE Sdept='CS';
-- 查询所有年龄在20岁以下的学生姓名及其年龄
SELECT Sname,Sage FROM student WHERE Sage<20;
-- 查询考试成绩不及格的学生的学号
SELECT Sno FROM SC WHERE Grade<60;
-- 查询年龄在20~23(包含20、23)之间的学生姓名、系别和年龄(注:between...and)
SELECT Sname,Sdept,Sage FROM student WHERE Sage BETWEEN 20 AND 23;
-- 查询年龄不在20~23岁之间的学生姓名、系别和年龄(注:not between...and)
SELECT Sname,Sdept,Sage FROM student WHERE Sage NOT BETWEEN 20 AND 23;
-- 查询计算机科学技术系(cs)、数学系(MA)和信息系(IS)学生的姓名和性别(注:确定集合,用IN)
SELECT sname,Ssex FROM student WHERE Sdept IN('CS','MA','IS');
-- 查询既不是计算机科学技术系、数学系,也不是信息系的学生姓名和性别
SELECT sname,Ssex FROM student WHERE Sdept NOT IN('CS','MA','IS');
-- 查询学号为201215121的学生详细情况(注:like进行字符串匹配,%代表任意长度,_代表任意单个字符)
SELECT * FROM Student WHERE Sno LIKE '201215121';
-- 查询所有姓刘的学生姓名、学号和性别
SELECT Sname,Sno,Ssex FROM student WHERE Snane LIKE '刘%';
-- 查询姓“欧阳”且全名为三个汉字的学生的姓名
--
-- 查询名字中第二个字为“阳”的学生姓名和学号
-- 查询所有不姓刘的学生姓名、性别和学号
SELECT Sname,Sno,Ssex FROM student WHERE Snane NOT LIKE '刘%';
-- 查询DB_Design课程的课程号和学分
-- 查询以"DB_"开头,且倒数第三个字符为i的课程的详细情况
--
-- 查询缺少成绩的学生的学号和相应的课程号(注:用is关键字)
SELECT Sno,Cno FROM sc WHERE Grade IS NULL;
-- 查询所有成绩的学生学号和课程号
SELECT Sno,Cno FROM sc WHERE Grade IS NOT NULL;
-- 多重条件查询(AND和OR)
-- 查询计算机科学系年龄在20岁以下的学生姓名
SELECT Sname FROM student Sage<20 OR Sdept='CS';
-- ORDER BY句子(升序ASC和降序DESC)
-- 查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降列排序
select Sname,Grade from student where Cno='3' group by desc;
-- 查询全体学生的情况,查询结果按照所在系的喜好升序排列,同一系中的学生按年龄降序排列
select * from student order by Sdept,Sage DESC;
-- 4、聚集函数
-- count
-- sum
-- avg
-- max
-- min
-- 查询学生总人数
select count(*) from student;
-- 查询选修了课程的学生人数(注:distinct去重)
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(Credit) from sc,course where Sno='201215012';
-- 5、GROUP BY子句(having:分组后根据条件筛选)
-- 求各个课程号及相应的选课人数
select count(Sno) from sc group by Cno;
-- 查询选修了三门以上课程的学生学号
select Sno from sc group by Sno having count(*)>2;
-- 查询平均成绩大于等于90分的学生学号和平均成绩
select Sno,AVG(Grade) from sc group by Sno having avg(Grade)>=90;
-- 二、连接查询
-- 1、等值与非等值连接查询
-- 查询每个学生及其选修课程的情况
select * from student,sc where student.`Sno`=sc.`Sno`;
--
-- 对上条查询用自然连接完成
--
-- 查询选修2号课程且成绩在90分以上的所有学生的学号和姓名
--
-- 2、自身连接
-- 查询每一门课的间接先修课(即先修课的先修课)
--
-- 3、外连接
-- 查询每个学生及其选修课程的情况
--
-- 4、多表连接
-- 查询每个学生的学号、姓名、选修的课程名及成绩
--
-- 三、嵌套查询
-- 1、带有IN谓语的子查询
-- 查询与“刘晨”在同一个系学习的学生
--
-- 查询了选修课程名为“休息系统”的学生学号和姓名
--
--
-- 2.带有比较运算符的子查询
-- 找出每个学生超出他自己选修课程平均沉积的课程号
--
-- 3、带有AND(SOME)或ALL谓语的子查询
-- 查询非计算机科学系中比计算机科学系任意一个学生年龄小的学生姓名和年龄
--
-- 查询费计算机科学技术系中比计算机科学技术系所有学生年龄都小的学生姓名及年龄
--
-- 4、带有EXISTS谓语的子查询
-- 查询所有选修了1号课程的学生姓名
--
-- 查询没有选修1号课程的学生姓名
--
-- 查询选修了全部课程的学生姓名
--
-- 查询至少选修了学生201215122选秀的全部课程的学生号码
--
-- 四、集合查询
-- 查询计算科学系的学生年龄不大于19岁的学生
--
-- 查询选修了课程1或者选修了课程2的学生
--
-- 查询计算机科学系的学生年龄不大于19岁的学生的交集
--
-- 查询即选修了课程1又选修了课程2的学生
--
-- 查询计算机科学系的学生与年龄不大于19岁的学生的差集
--
-- 五、基于派生表的查询
-- 查询所有选修了1号课程的学生姓名
--
--
--
--
--
--
--
--
--
--
--
--
-- 更新
-- 一、插入数据
-- 1.插入元组
-- 将一个新学生元组(学号:201215128,姓名:陈冬,性别:男,所在系:IS,年龄:18)插入到Student表
insert into student (Sno,Sname,Ssex,Sdept,Ssex,Sdept) values
--
-- 将学生张成民的信息插入到Student表
--
-- 插入一条选课记录(‘201215128’,‘1’)
--
-- 2、插入子查询结果
-- 对每一个系,求学生的平均年龄,并把结果存入到数据库
--
-- 二、修改数据
-- 1、修改某一个元组的值
-- 将学生291215121的年龄改为22岁
--
-- 2、修改多个元组的值
-- 将所有学生的年龄增加1岁
--
-- 3、带子查询的修改语句
-- 将计算机科学技术系全体学生的成绩置为0
--
-- 三、删除语句
-- 1、删除某一个元组的值
-- 删除学号为201215128的学生记录
--
-- 2、删除多个元组的值
-- 删除所有学生的选课记录
--
-- 3、带子查询的删除语句
-- 删除计算科学系所有学生的选课记录
--
--
--
--
--
--
--
--
--
--
--
--
--
-- 空值处理
--
-- 1、空值的产生
-- 向SC表中插入一个元组,学生学号是“201215126”,课程号是“1”,成绩为空
--
-- 将Student表中学生号为“201215200”的学生所属的系改为空值
--
-- 2、空值的判断
-- 从Student表中找出漏填了数据的学生信息
--
-- 3、空值的约束条件(NOT NULL)
-- 4、空值的算术运算、比较运算和逻辑运算
-- 找出选修1号课程的不及格的学生
--
-- 找出选修1号课程不及格的学生以及缺考的学生
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。