SQL习题Word文档下载推荐.docx

上传人:b****7 文档编号:21888563 上传时间:2023-02-01 格式:DOCX 页数:5 大小:16.60KB
下载 相关 举报
SQL习题Word文档下载推荐.docx_第1页
第1页 / 共5页
SQL习题Word文档下载推荐.docx_第2页
第2页 / 共5页
SQL习题Word文档下载推荐.docx_第3页
第3页 / 共5页
SQL习题Word文档下载推荐.docx_第4页
第4页 / 共5页
SQL习题Word文档下载推荐.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQL习题Word文档下载推荐.docx

《SQL习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SQL习题Word文档下载推荐.docx(5页珍藏版)》请在冰豆网上搜索。

SQL习题Word文档下载推荐.docx

where商品号='

0001'

or商品号='

0002'

;

3.检索定购商品号为‘0001’或‘0002’的顾客号。

4.检索至少定购商品号为‘0001’和‘0002’的顾客号。

(用交的方法) 

select 

顾客号fromOrderItemwhere商品号='

and顾客号in

(select顾客号fromOrderItemwhere商品号='

);

5.检索至少定购商品号为‘0001’和‘0002’的顾客号。

(用自表连接方法)

selectX.顾客号fromOrderItemX,OrderItemY

whereX.顾客号=Y.顾客号andX.商品号='

andY.商品号='

6.检索没定购商品的顾客号和顾客名。

select顾客号,顾客名fromCustommerwhere顾客号notin

(select顾客号fromOrderItem);

7.检索一次定购商品号‘0001’商品数量最多的顾客号和顾客名。

select顾客号,顾客名fromCustommerwhere顾客号in

(select顾客号fromOrderItemwhere商品号='

and数量=

(selectMAX(数量)fromOrderItemwhere商品号='

));

8.检索男顾客的人数和平均年龄。

selectcount(*)人数,avg(年龄)平均年龄fromCustommerwhere性别='

男'

9.检索至少订购了一种商品的顾客数。

selectcount(distinct顾客号)fromOrderItem;

10.检索订购了商品的人次数。

selectcount(顾客号)fromOrderItem;

selectcount(distinct顾客号)fromOrderItem;

11.检索顾客张三订购商品的总数量及每次购买最多数量和最少数量之差。

sum(数量),MAX(数量)-MIN(数量)fromOrderItem,Custommer

whereOrderItem.顾客号=Custommer.顾客号and顾客名='

张三'

12.检索至少订购了3单商品的顾客号和顾客名及他们定购的商品次数和商品总数量,并按商品总数量降序排序。

selectCustommer.顾客号,顾客名,count(*),Sum(数量)fromOrderItem,Custommer

whereOrderItem.顾客号=Custommer.顾客号 

groupbyCustommer.顾客号,顾客名

havingcount(*)>

3orderby4desc;

13.检索年龄在30至40岁的顾客所购买的商品名及商品单价。

select商品名,单价fromCustommer,Article,OrderItem

whereCustommer.顾客号=OrderItem.顾客号andArticle.商品号=OrderItem.商品号

and年龄between30and40;

14.创建一个视图GM,字段包括:

顾客号,顾客名和定购的商品名,日期和金额(金额=数量*单价)。

指定用内连接方式做。

createviewGMas

selectCustommer.顾客号,顾客名,商品名,日期,单价*数量as金额

fromCustommer,Article,OrderItem

createviewGM1as

from(CustommerinnerjoinOrderItemonCustommer.顾客号=OrderItem.顾客号)

innerjoinArticleon 

Article.商品号=OrderItem.商品号

15.检索购买的商品的单价至少有一次高于或等于1000元的顾客号和顾客名。

selectCustommer.顾客号,顾客名

fromCustommer,OrderItem,Article

where 

Custommer.顾客号=OrderItem.顾客号and 

and单价>

1000

16.检索购买的购买价都高于或等于1000元的顾客号和顾客名。

selectCustommer.顾客号,顾客名fromCustommerwhere顾客号in

(select顾客号fromOrderItemwhere顾客号notin

(select顾客号fromOrderItem,Article

whereOrderItem.商品号=Article.商品号and单价<

=1000))

17.检索女顾客购买的商品号,商品名和数量合计。

selectArticle.商品号,商品名,sum(数量)fromCustommer,Article,OrderItem

whereOrderItem.顾客号=Custommer.顾客号andOrderItem.商品号=Article.商品号

and性别='

女'

groupbyArticle.商品号,商品名

18.检索所有的顾客号和顾客名以及它们所购买的商品号。

(包括没买商品的顾客)

selectCustommer.顾客号,顾客名,商品号

fromCustommerleftjoinOrderItemonCustommer.顾客号=OrderItem.顾客号 

19.检索这样的顾客号,顾客名,他们定购了所有的商品(除法) 

selectCustommer.顾客号,顾客名fromCustommerwherenotexists

(select*fromArticlewherenotexists

(select*fromOrderItem

whereOrderItem.顾客号=Custommer.顾客号andOrderItem.商品号=Article.商品号)) 

20.检索这样的顾客号,他们至少订购了顾客号为“0002”所订购的所有商品(除法)

selectdistinct顾客号fromOrderItemXwherenotexists

(select*fromOrderItemYwhere顾客号='

andnotexists

(select*fromOrderItemZwhereZ.顾客号=X.顾客号andZ.商品号=Y.商品号)) 

21.向Article表插入一条纪录。

删除无人购买的商品。

(检验一下刚插入的记录是否已被删除)

deletefromArticlewhere商品号notin

(select商品号fromOrderItem)

22.降低已售出的数量总合超过10件的商品单价为原价的95%。

updateArticleset单价=单价*0.95where商品号in

(select商品号fromOrderItemgroupby商品号havingsum(数量)>

10)

23.建立断言:

顾客的年龄必须大于18岁。

CreateASSERTIONA1check

(notexists(select*fromCustommerwhere年龄<

=18))

24.把修改商品单价的权限授给用户Wang,用户Wang可以转授该权限。

Grantupdate(单价)onArticletoWangwithgrantoption

25.把修改商品单价的权限用户Wang收回,转授出去的也级联收回。

revokeupdate(单价)onArticlefromWang 

cascade

SQL练习题一

问题描述:

已知关系模式:

CARD(CNO,NAME,CLASS)

借书卡关系。

CNO卡号,NAME姓名,CLASS班级

BOOKS(BNO,BNAME,AUTHOR,PRICE,QUANTITY)

图书关系。

BNO书号,BNAME书名,AUTHOR作者,PRICE单价,QUANTITY库存册数

BORROW(CNO,BNO,RDATE)

借书记录关系。

CNO借书卡号,BNO书号,RDATE还书日期

说明:

限定每人每种书只能借一本;

库存册数随借书、还书而改变。

要求实现如下12个处理:

1.写出建立BORROW表的SQL语句,要求定义主码完整性约束和外码参照完整性约束。

2.找出借书超过5本的读者,输出借书卡号及所借图书册数。

3.查询借阅了"

水浒"

一书的读者,输出姓名及班级。

4.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。

5.查询书名包括"

网络"

关键词的图书,输出书号、书名、作者。

6.查询现有图书中价格最高的图书,输出书名及作者。

7.查询当前借了"

计算方法"

但没有借"

计算方法习题集"

的读者,输出其借书卡号,并按卡号降序排序输出。

8.将"

C01"

班同学所借图书的库存册数都增加100本。

9.从BOOKS表中删除当前无人借阅的图书记录。

10.建立一个视图,显示"

班学生的借书信息(只要求显示姓名和书名)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1