实验二业务数据库-数据查询实验报告.doc
文本预览下载声明
《数据库系统概论》实验报告 题 目:SQL数据查询 学 号
姓 名 0937030
张 丹 日期 ?2011/10/26 实验内容与完成情况:
在查询分析器下使用Transact-SQL语句完成对”业务数据库”数据库查询操作. 题目及操作结果如下:
显示所有年龄50岁以下女业务员的姓名和年龄
(2)检索年龄最大的业务员姓名和年龄
检索年龄最大的业务员姓名和年龄,用了两种方法,皆得出了正确的结果。
(3)显示所有业务员的姓名和月薪,要求按月薪的降序排列
(4)检索月薪在2000元到3000元之间的业务员姓名。用between关键词
(5)统计每个客户签定订单的数目和总金额
(6)检索所有经办客户王明订单的业务员姓名(分别用连接和子查询两种方法实现)
①连接
②子查询
(7)统计每个业务员签定的500元以上的订单的数目
(8)检索签定2个以上订单的业务员姓名
(9)检索超过平均月薪的业务员姓名和年龄
(10)检索签定了订单的客户的人数和业务员的人数。
(11)检索所有业务员签订订单的情况。结果要求:业务员编号、业务员姓名、性别、日期、金额。(包括没有签订订单的业务员,用外连接)
(12)检索工作业绩最好的业务员的业务员编号、业务员姓名.
出现的问题:
在执行第一条语句时,总出现“对象名‘业务员’无效”
在执行含有 group by 的语句时,总提示列表中的列无效,因为该列没有包含在聚合函数或者group by子句中
用到子查询时,不知该怎样提取子查询的数据
提示where子句中不能含有聚合函数
? 解决方案(列出遇到的问题和解决办法,列出没有解决的问题):
在执行第一条语句时,总出现“对象名‘业务员’无效”
在网上找到的解决方法,在第一行加上“ use 业务数据库”,可能是系统在执行第一条命令时,不知该在哪个数据库中查找表中的数据。
在执行含有 group by 的语句时,总提示列表中的列无效,因为该列没有包含在聚合函数或者group by子句中
仔细阅读书中的细节,明白在含有group by 的语句中,查找的对象必须包含在聚合函数或者group by 的子句中。
用到子查询时,不知该怎样提取子查询的数据
自己错误的理解为查询语句与其子查询语句可以用=all连接,其实应该用 in 连接
提示where子句中不能含有聚合函数
用子查询的方法,先将需要的条件用函数表示出来,如第9题? ?
显示全部