oracle9i sql与pl/sql的习题结果

时间:2022-01-14 22:58:42
 
1、 显示BOOKS表中包含的所有数据的列表。 Select * from books
2、 列出BOOKS表中有存货的所有图书的书名。(图书种类非空的图书就有存货)
          select title from books where category is not null
3、 列出BOOKS表中每本书的书名和出版日期。对Pubdate字段使用Publication Date列标题。
4、 select title, PUBDATE "Publication Date" from books;
5、 列出CUSTOMERS表中每一个客户的客户号以及他们所在的城市和州。
Select * from customers
 
6、 创建一个包含各个出版社的名称、通常的联系人以及出版社电话号码的列表。重新命名包含联系人的列,在显示的结果中命名为Contact Person。
7、 确定当前库存表示了那些种类。只列出一次每一个种类,不能有重复的。
8、 列出BOOKS表中向书店下达了订单的每一个客户的客户号。每一个客户号只列出一次。
9、 创建BOOKS表中存储的每一本书以及每本书所属种类的列表。但是要颠倒列的顺序,首先列举每本书的种类。
10、               列出AUTHOR表中的各个作者的名字和姓氏。
11、               创建一个作者列表,首先显示各个作者的姓氏,然后显示名字。应该使用逗号和空格隔开名字和姓氏。
12、               哪些客户居住在新泽西州?
13、               哪些订单是在2003年4月1日之后发货的?
14、               哪些图书不属于Fitness种类?
15、               哪些客户居住在佐治亚州或者新泽西州?将结果按姓氏的升序排列。
16、               哪些订单是在2003年4月2日之前下达的?
17、               列出姓氏包含字母模式“IN”的所有作者。将结果按姓氏排序,然后按名字排序。
18、               使用一个搜索模式列出Children和Cooking种类的所有图书。不要在WHERE子句中使用任何逻辑运算符。
19、               使用一个搜索模式查找书名的第二个字母是“A”、第四个字母是“N”的任何图书。
20、               列出在2001年出版的所有计算机书的名称。
21、               创建一个列表,显示每本书的书名以及出版社办公室中你再次定购每本书时需要与之联系的人的姓名和电话号码。
22、               确定哪些订单还没有发货以及下达各个订单的客户的姓名。将结果按下达订单的日期排序。
23、               列出已经购买了Fitness种类的图书的所有人的客户号和姓名。
24、               确定Jake Lucas已经购买了哪些书。
25、               确定销售给Jake Lucas的每一本书的利润。将结果按订单日期排序。如果定购了多本书,那么将结果按利润的降序排列。
26、               那一本书是由姓氏为Adams的作者编写的?
27、               订购图书Shortest Poems的客户将收到什么样的礼品?
28、               确定Becca Nelson订购的图书的作者。
29、               显示BOOKS表中所有图书的列表。如果某位客户已经订购了一本书,那么还要列出对应的订单号以及客户所在的州。
30、               生成居住在佛罗里达州并且订购了计算机图书的所有客户的列表。
31、               获得所有客户的姓名列表,姓氏和名字的第一个字母大写,其余字母小写。
32、               创建所有客户的列表,如果一个客户不是由其他客户介绍到JustLee Books的,则显示字符‘NOT REFERRED’。
33、               确定订单1002上购买的图书所产生的利润。将这个利润格式化为显示一个美元符号和两位小数。
34、               显示所有图书以及每本书的毛利(百分数)的列表。毛利应该显示为一个没有小数位数的整数(也就是乘以100),后面带有百分号(例如:.2793=28%)。
35、               显示你正在使用的计算机的当前日期设置是星期几、小时、分以及秒。
36、               创建JustLee图书的列表并在每本书的成本之前放上星号,使显示的成本字段的宽度为12。
37、               确定BOOKS表的ISBN字段中存储的数据长度。一定要使长度只显示一次(不是每本书都显示一次)。
38、               使用当天的日期确定JustLee销售的每一本书已经出版的时间(月)。一定要只显示整月数而不是月的一部分。
39、               根据当天的日期确定下一个星期三的日期。
40、               列出JustLee数据库中包含的所有作者的语音表示。
41、               确定Cooking种类中存在多少本书?
42、               显示零售价格超过30.00美元的图书的数量。
43、               显示最新出版的图书的日期。
44、               确定向客户1017售出的图书所产生的总利润。
45、               列出客户1017购买的最贵的图书。
46、               列出Computer种类中最便宜的图书。
47、               确定ORDERS表中包含的订单所产生的平均利润。
48、               确定CUSTOMERS表中的每一个客户所下达的订单数量。不要在结果中包括最近没有向JustLee Books下达订单的任何客户。
49、               列出居住在佐治亚州或佛罗里达州并且最近下达了超过80美元的订单的客户。
50、               Lisa White编著的零售价最高的图书是哪一本?
51、               确定哪些图书的零售价格低于JustLee Books销售额所有图书的平均零售价。
52、               确定哪些图书的成本低于同一种类中其它图书的平均成本。
53、               确定哪些订单的总应付款项比订单1008更高。
54、               确定哪一位或者哪些作者编著了JustLee Books的客户最经常购买的图书。
55、               列出与客户1007以前购买的图书属于同一种类的所有图书的书名。不要包括这个客户已经购买的图书。
56、               列出发货延迟时间最长的客户所在的城市和州。
57、               确定哪些客户订购了JustLee Books销售的最便宜(就零售价格而言)的图书。
58、               确定多少个不同的客户订购了JamesAustin编著或者合著的图书。
59、               确定哪些书是由The Wok Way to Cook的出版社出版的。
60、               创建一个新表,这个表包含JustLee Books销售的图书种类代码以及说明。将这个表命名为Category,这两列应该命名为CatCode和CatDesc。CatCode列应该最多存储两个字符,而CatDesc列应该最多存储10个字符。
61、               创建一个新表,应该包含下面两列:Customer#和Region。表名CustomerRegion。Region列应该能够存储最大长度是4的字符串。如果列包括的值少于4字符,则不应该填充列值。
62、               向CUSTOMERREGION表添加一列,这列将包括各个客户下达最后一个订单的日期。这一列的默认值应该是系统日期。新的列应该命名为LastODate。
63、               修改CUSTOMERREGION表的Region列,使之只允许在这一列中最多存储两个字符。
64、               创建一个新表,这个表包含BOOKS表中每一本书的书名、ISBN、出版社ID以及每本书所产生的利润。利润列名是Profit,其它列应该保留最初的名称。将新的表名命名为ProfitGereratedPerBook.
65、               将ProfitGeneratedPerBook表重命名为ProfitPerBook。
66、               从ProfitPerBook表中删除PubID列。
67、               将ProfitPerBook表的Title列标记为不使用。确认这一列不再是可用的。
68、               截断profitPerBook表,然后确认ProfitPerBook表仍然存在。
69、               删除ProfitPerBook表。
70、               创建一个视图,它将列出各个出版社的联系人姓名以及这个人的电话号码。不要在视图中包括出版社的ID。将这个视图命名为CONTACT。
71、               更改CONTACT视图,使得用户不能随意在这个视图上执行DML操作。
72、               创建一个名为HOMEWORK11的视图,它将包括FIRSTATTEMPT表中的Col1列和Col2列。确保即使FIRSTATTEMPT表不存在,也将创建这个视图。
73、               查看HOMEWORK11表的结构。
74、               创建一个视图,它将列出库存的每一本书的ISBN和书名以及在需要再次订购这本书时要联系的人的姓名和电话号码。将这个视图命名为REORDERINFO。
75、               将REORDERINFO视图中的一个联系人的姓名更改为你的姓名。在执行这一步时显示了出错信息吗?如果是,请分析原因。
76、               选定REORDERINFO视图中的一本书并尝试更改它的ISBN。在执行这一步时显示了出错信息吗?如果是,请分析原因。
77、               删除REORDERINFO视图中包含你的姓名的那条记录。在执行这一步时显示了出错信息吗?如果是,请分析原因。
78、               执行ROLLBACK命令,以便撤销以前的任何DML操作所进行的任何更改。
79、               删除REORDERINFO视图。
80、               创建一个新的用户帐号。帐号的名称为Kerven,密码为12345678。
81、               尝试用新创建的帐号登录Oracle 9i。
82、               向新帐号指定权限,允许用户连接数据库、创建新表以及更改现有的表。
83、               使用具有适当权限的帐号创建一个名为CUSTOMERREP的角色,允许向ORDERS和ORDERITEMS表插入新行,并且允许删除这些表中的行。
84、               向在上面创建的帐号Kerven中指定CUSTOMERREP角色。
85、               使用Kerven帐号登录Oracle 9i,确定这个帐号当前可用的权限。
86、               从CUSTOMERREP角色撤销删除ORDERS和ORDERITEMS表中的行的权限。
87、               撤销Kerven的CUSTOMERREP角色。
88、               从Oracle 9i中删除CUSTOMERREP角色。
89、               从Oracle 9i中删除Kerven帐号。