数据库作业5:索引(index)、插入(insert)、查询(select)

**【例3.13】 为学生-课程数据库中的Student. Course和SC三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯-索引,SC表按学号升序和课程号降序建唯一索引。
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);

【例3.14】 将SC表的Scno索引名改为Scsno。
ALTER INDEX SCno RENAME TO SCSno;

**【例3.15 】 删除Student表的Stusname索引
**
DROP INDEX Stusno;

【例3.69】将一个新学生元组(学号:201215128,姓名:陈冬,性别:男,所在系:IS,年龄:18岁)插入到Student表中。

INSERT
INTO Student (Sno,Sname,Ssex,Sdept,Sage)
VALUES (‘201215128’,‘陈冬’,‘男’,‘IS’,18);
【例3.70】 将学生张成民的信息插入到Student表中。
INSERT
INTO Student
VALUES (‘201215126’,‘张成民’,‘男’,18,‘CS’);

【例3.71】 插入一条选课记录(‘201215128’ , ‘1’)
INSERT
INTO SC
VALUES (’ 201215128 ‘,’ 1 ',NULL); null,未指定对应属性名

【例3.16】査询全体学生的学号与姓名
SELECT Sno,Sname
FROM Student;

从Student表中取出一个元组,取出该元组在属性Sno和Sname上的值,形成一个新的元组作为输出。对Student表中的所有元组做相同的处理,最后形成一个结果关系作为输出。

【例3.17】 査询全体学生的姓名、学号、所在系。
SELECT Sname,Sno,Sdept
FROM Student;
【3.18】 査询全体学生的详细记录.
SELECT Sno,Sname,Ssex,Sage,Sdept
FROM Student;
等价于
SELECT *
FROM Student;
所有的学生显示了出来
【3.19】査询全体学生的姓名及其出生年份。
SELECT Sname,2014-Sage
FROM Student;
在这里插入图片描述

【3.20】査询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示系名。

SELECT Sname,'Year of Birth: ',2014-Sage,LOWER(Sdept)
FROM Student;

【3.21】 査询选修了课程的学生学号。
SELECT Sno FROM SC;
若没有指定DISTINCT,缺省就是ALL ,此时保留所有的元组。如果有DISTINCT,则消除重复的行。
【3.22】 査询计算机科学系全体学生的名单
SELECT Sname
FROM Student
WHERE Sdept=‘CS’;
在这里插入图片描述
【3.23】査询所有年龄在20岁以下的学生姓名及其年龄。
SELECT Sname,Sage
FROM Student
WHERE Sage < 20;
【3.24】査询考试成績不及格的学生的学号.
SELECT DISTINCT Sno
FROM SC
WHERE Grade<60;
结果是没有人
【3.25】 査询年龄在20〜23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄
SELECT Sname, Sdept, Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23;

【3.26】 查询年龄不在20〜23岁之间的学生姓名、系别和年龄。
SELECT Sname, Sdept, Sage
FROM Student
WHERE Sage NOT BETWEEN 20 AND 23;
在这里插入图片描述
【3.27】査询计算机科学系(CS)、数学系(MA)和信息系(IS)学生的姓名和性别。
SELECT Sname, Ssex
FROM Student
WHERE Sdept IN (‘CS’,‘MA’,‘IS’);

【3.28】査询既不是计算机科学系、数学系,也不是信息系的学生的姓名和性别。
SELECT Sname, Ssex
FROM Student
WHERE Sdept NOT IN (‘IS’,‘MA’,‘CS’);
结果是没有人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值