77范文网 - 专业文章范例文档资料分享平台

SQL语句练习(3)

来源:网络收集 时间:2020-03-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

SELECT 学号,成绩 FROM 选课 WHERE 课号=\成绩>ALL ; (SELECT 成绩 FROM 选课 WHERE 课号=\

(三)内外层互相关嵌套(外层依赖于内层的查询结果,内层依赖于外层来进一步查询)

1、列出每门课程中成绩最高的选课信息。

SELECT * FROM 选课 A WHERE 成绩=(SELECT MAX(成绩) FROM 选课 B WHERE A.课号=B.课号)

2、列出每个学生中成绩低于本人平均成绩的选课信息。

SELECT * FROM 选课 A WHERE 成绩<(SELECT AVG(成绩) FROM 选课 B WHERE A.学号=B.学号)

3、列出表“订购单2.dbf”(其内容就是在订购单表的基础上增加一个总金额字段)中每个职工经手的具有最高总金额的订购单信息。(教案中例题)

SELECT out.职工号,out.供应商号,out.订货单号,out.订货日期,out.总金额;

FROM 订购单 out WHERE 总金额=(SELECT MAX(总金额) FROM 订购单 inner1; Where out.职工号=inner1.职工号) 四、操作功能

1、在课程表中插入新的元组(5,大学英语)。 INSERT INTO 课程(课号,课名) VALUES(\大学英语\ 2、给学生表中男生的记录加上删除标记。 DELETE FROM 学生 WHERE 性别=\男\

3、将选课表中所有课程的成绩分别提高5分。将课号为“4”的课程的成绩置为空值。

UPDATE 选课 SET 成绩=成绩+5

UPDATE 选课 SET 成绩=NULL WHERE 课号=\ 五、定义表结构

1、建立研究生表,该表不属于任何数据库,其结构如表所示:

字段名 字段类型 字段长度 小数位数 特殊要求 学号 C 6 姓名 C 8 性别 C 2 年龄 N 3 0 入学年月 D 允许空值 CREATE TABLE 研究生 FREE (学号 C(6),姓名 C(8),性别 C(2),年龄 N(3,0),入学年月 D NULL)

2、假设已经建立了XSK数据库,在XSK中建立“学生1”表,其结构如表所示

字段名 字段类型 字段长度 小数位数 特殊要求 学号 C 6 主索引 姓名 C 8 不能为空 性别 C 2 年龄 N 3 0 年龄大于10小于45 是否党员 L 默认值为1999年9月1入学年月 D 日 OPEN DATABASE XSK

CREATE TABLE 学生1 (学号 C(6) PRIMARY KEY,姓名 C(8) NOT NULL,性别 C(2),; 年龄 N(3,0) CHECK 年龄>10 AND 年龄<45 ERROR \年龄必须大于10小于45\是否党员 L,;

入学年月 D DEFAULT {^1999-9-1})

3、在XSK数据库建立“课程1”表,其结构如表所示:

字段名 字段类型 字段长度 小数位数 特殊要求 课号 C 4 主索引 课程名 C 10 不能为空 学分 N 2 CREATE TABLE 课程1 (课号 C(4) PRIMARY KEY,课程名 C(10) NOT NULL,学分 N(2)) 4、在XSK数据库建立“选课1”表,其结构如表所示:

字段名 字段类型 字段长度 小数位数 特殊要求 学号 C 6 外索引与学生表建立关系 课号 C 4 外索引与课程表建立关系 成绩 N 5 2 CREATE TABLE 选课1 (学号 C(6) REFERENCE 学生,课号 C(4) REFERENCE 课程,成绩 N(5,2))

六、修改表结构

1、为“课程1”表添加一个开课学期字段,字段类型为数值型,长度为1。 ALTER TABLE 课程1 ADD COLUMN 开课学期 N(1) 2、修改开课学期字段为字符型,合法值为1或2。

ALTER TABLE 课程1 ALTER COLUMN 开课学期 C(1) CHECK 开课学期=\开课学期=\

3、删除“课程1”表中对开课学期字段的合法值约束,设置默认值为1。 ALTER TABLE 课程1 ALTER 开课学期 DROP CHECK ALTER TABLE 课程1 ALTER 开课学期 SET DEFAULT \

4、删除“课程1”表中的开课学期字段。修改课程名字段为“课名”字段。

ALTER TABLE 课程1 DROP 开课学期 RENAME 课程名 TO 课名 5、在“学生1”表的“年龄”字段上建立候选索引。 ALTER TABLE 学生1 ADD UNIQUE 年龄 TAG 年龄 6、在“学生1”表中添加一个出生日期字段,删除年龄字段。 ALTER TABLE 学生1 ADD 出生日期 D

ALTER TABLE 学生1 DROP UNIQUE TAG 年龄 DROP 年龄 七、补充练习

利用订货管理数据库中表数据,用SQL完成查询。

1、检索在北京的供应商的名称。

SELECT 供应商名 FROM 供应商 WHERE 地址=\北京\

2、检索出向供应商S3发过订购单的职工的职工号和仓库号。

方法一(嵌套查询):

SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN; (SELECT 职工号 FROM 订购单 WHERE 供应商号=\ 方法二(连接查询):

SELECT 职工.职工号,仓库号 FROM 职工,订购单 ; WHERE 职工.职工号=订购单.职工号 AND 供应商号=\ 3、检索出和职工E1、E3都有联系的北京的供应商信息。

SELECT * FROM 供应商 WHERE 地址=\北京\供应商号 IN;

(SELECT 供应商号 FROM 订购单 WHERE 职工号=\供应商号 IN; (SELECT 供应商号 FROM 订购单 WHERE 职工号=\ 4、检索出向S4供应商发出订购单的仓库所在的城市。

SELECT 城市 FROM 仓库,职工,订购单 WHERE 仓库.仓库号=职工.仓库号 ; AND 职工.职工号=订购单.职工号 AND 供应商号=\

5、检索出由工资多于1230元的职工向北京的供应商发出的订购单号。

SELECT 订货单号 FROM 职工,订购单,供应商 WHERE 职工.职工号=订购单.职工号; AND 订购单.供应商号=供应商.供应商号 AND 工资>1230 AND 地址=\北京\ 6、检索出所有仓库的平均面积。

SELECT AVG(面积) AS 面积 FROM 仓库

7、检索出每个仓库中工资多于1220元的职工个数。

SELECT 仓库号,COUNT(*) 职工个数 FROM 职工WHERE工资>1220 GROUP BY 仓库号 8、检索工资低于本仓库平均工资的职工信息。

SELECT * FROM 职工 AA WHERE 工资<(SELECT AVG(工资) FROM 职工 BB WHERE AA.仓库号=BB.仓库号)

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库SQL语句练习(3)在线全文阅读。

SQL语句练习(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/907898.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: