用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - sql代码库

数据库实验三:使用函数和连接查询

2012-09-01 作者: 神马举报

[sql]代码库

实验目的:
1.	掌握字符串函数的使用(函数见后页)
2.	掌握日期函数的使用(函数见后页)
3.	掌握数学函数的使用
4.	掌握数据类型转换函数的使用

实验内容(打印时不需打印后页所附的函数表格)
完成在在Recruitment,GlobalToyz和Student数据库基础上的查询,按要求完成给出的下列题目,要求写出相应数据库的查询语句(SELECT)。
1.	显示玩具的适用年龄在4岁到8岁之间的所有玩具的名称和描述,要求只显示玩具描述的前25个字符。(两种函数实现)
Ans1: select vToyName,left(vToyDescription,25)
       from Toys
       where siLowerAge = 4 and siUpperAge = 8;

Ans2: select vToyName,SUBSTRING(vToyDescription,1,25)
       from Toys
       where siLowerAge = 4 and siUpperAge = 8;
2.	对于Toys表的所有玩具,将名称和价格结合在一起按要求的格式输出,例如对ID为000001的玩具,打印输出的是‘The price of Robby the Whale is 8.99$’。请按该格式输出所有玩具的名称和价格。
Ans:select 'The price of ' + vToyName+' is' +convert(char(10),mToyRate)
from Toys

3.将Shopper表的订购者姓和名结合在一起显示,在姓和名显示的时候在中间加上一个空格。如‘Angela Smith’。
   Ans: select vFirstName+' '+vLastName
from Shopper

4. 显示价格最高的五种玩具的名称和价格(vToyName,mToyRate)。
   Ans: select top 5 vToyName, mToyRate
from Toys
order by  mToyRate desc

5. 现需要查看Shopper表的订购者所使用的电子邮件服务商。对于每个订购者,只需要显示电子邮件服务商地址,不需要显示用户名。例如‘angelas@qmail.com’,只需要显示‘@qmail.com’。对于查询结果中重复出现的电子邮件服务商地址,只需要显示一次。
   Ans: select distinct(substring(vEmailId,charindex('@',vEmailId),50))
from Shopper

6. 对于每份订单,请输出下列信息,包括订单号,订单日期,周第几日。
   Ans: select cOrderNo,dOrderDate,DATENAME(dw,dOrderDate)
from Orders

7. 对于每份订单要求输出的是订单号,订单日期的月份和日子。例如,订单号为‘000001’的订单的输出结果为‘000001号订单的日期是5月20日’。
   Ans: select cOrderNo+'号的日期是'+convert(char(2),DATEPART(mm,dOrderDate))+'月'+DATENAME(dd,dOrderDate)+'日'
from Orders

8. 对于装运表Shipment,请根据每份订单输出实际投递时间(dActualDeliveryDate)和装运时间(dShipmentDate)之间相隔的天数。
   Ans: select DATEDIFF(dy,dActualDeliveryDate,dShipmentDate)
from Shipment

9. 假设规则为订单的过期时间为下订单后的一个月,请输出每份订单的订单号,下订单的日期,以及理论的订单过期时间。
   Ans: select cOrderNo,dOrderDate,dateadd(mm,1, dOrderDate)'订单过期时间'
from Orders

10. 对于装运表Shipment,按该格式输出每份订单的装运日期。如订单号为‘000001’的输出结果为‘The Shipment date of Order No. 000001 is 2001.05.23’。
   Ans:select 'The Shipment date of Order No. '+cOrderNo+' is '+datename(yy,dShipmentDate)+'.'+datename(mm,dShipmentDate)+'.'+datename(dd,dShipmentDate)
from Shipment

11. 输出Shopper表的‘Texas’州的前10%的订购者的详细信息。
    Ans: select top 10 percent * 
from Shopper
where cState='Texas'


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...