




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四 数据库的查询和视图T4.1 数据库的查询1.目的与要求(1)掌握select语句的基本语法;(2)掌握子查询的表示(3)掌握连接查询的表示(4)掌握select语句的group by子句的作用和使用方法(5)掌握select语句的order by子句的作用和使用方法2 实验准备(1)了解SELECT语句的基本语法格式;(2)了解SELECT语句的执行方法;(3)了解子查询的表示方法;(4)了解连接查询的表示;(5)了解SELECT语句的GROUPBY子句的作用和使用方法;(6)了解SELECT语句的ORDER子句的作用;3实验内容语句的基本使用。对于实验给出的数据库表结构,查询每个雇员的所有数据。新建一个查询,在查询分析器中输入如下语句并执行:GOSELECT * FROM 【思考与练习】 用SELECT语句查询Departments和Salary表中所有的数据信息。用SELECT语句查询Employees表中每个雇员的地址和电话。新建一个查询,在查询分析器中输入如下语句并执行:Use YGGLGOSELECT Address PhoneNumber FROM Employees【思考与练习】a. 用SELECT语句查询Deparments和Salary表的一列或若干列。b. 查询Employees表中的部门号和性别,要求使用DISTINCT消除重复行。c. 查询EmployeeID为000001的雇员的地址和电话。Use YGGLGOSELECT Address PhoneNumber FROM EmployeesWHERE EmployeeID=000001【思考与练习】a. 查询月收入高于2000元的员工号码。b. 查询1970年以后出生的员工的姓名和住址。c. 查询所有财务部的员工的号码和姓名。查询Employees表中女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址、电话。USE YGGLGOSELECT Address AS 地址,PhoneNumber AS 电话 FROM EmployeesWHERE Sex=0【思考与练习】查询Employees表中男员工的姓名和出生日期,要求将各列标题用中文标示。查询Employees表中员工的姓名和性别,要求SEX值为时显示为“男”,为0时显示为“女”。SELECT姓名,Sex=1 THEN男Sex=1 THEN女END 性别 Employees【思考与练习】 查询Employees员工的姓名、住址和收入水平,2000元以下显示低收入,2000-3000元显示为中等收入,3000元以上显示为高收入。 计算每个雇员的实际收入USE YGGLGOSELECT EployeeID,实际收入=income-OutCome FROM【思考与练习】使用语句进行简单的计算。获得员工总数。()FROM【思考与练习】计算表中员工月收入的平均数。获得表中最大员工号码。计算表中所有员工的总支出。查询财务部雇员的最高和最低实际收入。找出所有姓王的雇员的部门号。USE YGGLGOSE王【思考与练习】找出所有其地址中含有“中山”的雇员的号码及部门查找员工号码倒数第二个数字为的员工的姓名、地址和学历。找出所有收入在元之间的员工号码。SELECT EmployeeID from Salary where InCome between 2000 and 3000【思考与练习】找出所有在部门“1”或“2”工作的雇员的号码。注意:了解在SELECT语句中LIKE、BETWEENAND、IN、NOT以及CONTAIN谓词的作用。使用into子句,由表Salary创建“收入在1500元以上的员工”表,包括编号和收入USE YGGLGO select EmployeeID as 编号,Income as 收入into 收入在1500元以上的员工 from Salarywhere InCome1500【思考与练习】使用Into子句,由表Employees创建“男员工”表,包括编号和姓名。() 子查询的使用。查找在财务部工作的雇员的情况USE YGGLGOselect * from Employeeswhere DepartmentID= ( select DepartmentID from Departments where DepartmentName=财务部 )【思考与练习】用子查询的方法查找所有收入在2500元以下的雇员的情况查找财务部年龄不低于研发部雇员年龄的雇员的姓名。USE YGGLGOselect Name from Employees where DepartmentID in (select DepartmentID from Departments where DepartmentName=财务部 ) and Birthday!all (select Birthday from Employees where DepartmentID in(select DepartmentID from Departments where DepartmentName=研发部 ) )【思考与练习】用子查询的方法查找研发部比所有财务部雇员收入都高的雇员的姓名。查找比所有财务部的雇员收入都高的雇员的姓名。USE YGGLGOSelect Name from Employees where EmployeeID in (select EmployeeID from Salary where InCome all (select InCome from Salary where EmployeeID in (select EmployeeID from Employees where DepartmentID= (select DepartmentID from Departments where DepartmentName=财务部 ) ) ) )【思考与练习】用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的姓名。(2)连接查询的使用。 查询每个雇员的情况及其薪水的情况。USE YGGLGOselect Employees.*,Salary.* from Employees,Salary where Employees.EmployeeID=Salary.EmployeeID【思考与练习】查询每个雇员的情况及其工作部门的情况。使用内连接的方法查询名字为“王林”的员工所在的部门select DepartmentName from DepartmentsJoin Employees on Departments.DepartmentID=Employees.DepartmentIDwhere Employees.Name=王林【思考与练习】a 使用内连接的方法查找出不在财务部工作的所有员工信息。b 使用外连接方法查找出所有员工的月收入。 查找财务部收入在2000元以上的雇员姓名及其薪水详情。新建一个查询,在查询分析器中输入如下语句并执行。select Name,Income,Outcomefrom Employees,Salary,Departmentswhere Employees.EmployeeID=Salary.EmployeeIDand Employees.DepartmentID=Departments.DepartmentIDand DepartmentName=财务部and Income2000【思考与练习】查询研发部在1976以前出生的雇员姓名及其薪水详情。() 聚合函数的使用。1.求财务部雇员的平均收入新建一个查询,在查询分析器中输入如下语句并执行。USE YGGLGOselect AVG(Income) as 财务部平均收入 from Salarywhere EmployeeID in (select EmployeeID from Employeeswhere DepartmentID= (select DepartmentID from Departments where DepartmentName=财务部 )【思考与练习】查询财务部雇员的最高和最低收入。3.求财务部的平均实际收入新建一个查询,在查询分析其中输入如下语句并执行。USE YGGLGOselect avg(Income-Outcome) as 财务部平均实际收入 from Salarywhere EmployeeID in (select EmployeeID from Employeeswhere DepartmentID= (select DepartmentID from Departments where DepartmentName=财务部 )【思考与练习】查询财务部雇员的最高和最低实际收入。求财务部雇员的总人数select COUNT(EmployeeID) from Employees where DepartmentID= (select DepartmentID from Departments where DepartmentName=财务部 )【思考与练习】统计财务部收入在2500以上的雇员的人数。(5)GROUP BY、ORDER BY子句的使用: 查找Employees表中男性和女性的人数select Sex,COUNT(Sex) from Employeesgroup by Sex;【思考与练习】a 按部门列出在该部门工作的员工的人数。b 按员工的学历分组,排列出本科、大专和硕士的人数。查找员工数超过2的部门名称和员工数量。select Employees.DepartmentID,COUNT (*) as 人数from Employees,DepartmentsWHERE Employees.DepartmentID=Departments.DepartmentIDgroup by Employees.DepartmentIDhaving COUNT(*)2【思考与练习】按员工的工作年份分组,统计各个工作年份的人数,例如,工作一年的多少人,工作两年的多少人。 将各雇员的情况按收入由低到高排列。select Employees.*,Salary.* from Employees,Salary where Employees.EmployeeID=Salary.EmployeeID order by InCome【思考与练习】a将员工的信息按出生的时间从小到大排列。b.在order by 子句中使用子查询,查询员工姓名、性别和工龄信息,要求按实际收入从大到小排列。T4.2视图的使用1. 目的和要求(1) 熟悉视图的概念和作用;(2) 掌握视图的创建方法;(3) 掌握如何让查询和修改视图。2. 实验准备() 了解视图的概念;() 了解创建视图的方法;() 了解并掌握对视图的操作。3. 实验内容() 创建视图。() 创建YGGL数据库上的视图DS_VIEW,视图包含Departments表的全部列。CREATE VIEW DS_VIEWAS SELECT*FROM Departments创建YGGL数据库上的视图Employees-view,视图包含“员工号码”、“姓名”、“实际收入”三列。使用如下SQL语句:CREATE VIEW Employees_view(EmployeeID,Name,realIncome)ASSELECT Employees.EmployeeID,Name,Income-OutComeFROM Employees,salaryWHERE Employees.EmployeeID=salary.EmployeeID【思考与练习】a 在创建视图时SELECT语句有那些限制?b 再创建视图时有哪些注意点?c 创建视图,包含员工号码、姓名、所在部门名称和实际收入这几列。(2)查询视图: 从视图DS_VIEW中查询出部门号为3的部门名称。select DepartmentName from DS_viewwhere DepartmentID=3从视图Employees_view中查询出姓名为“王林”的员工的实际收入select RealIncome from Employees_viewwhere Name=王林【思考与练习】a若视图关联了某表中的所有字段,而此时刻表中添加了新的字段,视图 中能否查询到该字段?b自己创建一个视图,并查询视图中的字段。(3)更新视图。在更新视图前需要了解可更新视图的概念,了解什么视图是不可以进行修改的。更新视图真正更新的是和视图关联的表。向视图DS_VIEW中插入一行数据“6,广告部,广告业务”insert into DS_VIEW values(6,广告部,广告业务)执行完该命令,使用SELECT语句分别查看视图DS_VIEW和基本表Departments中发生的变化。尝试向视图Employees_view中插入一行数据看看会发生什么情况。修改视图DS_VIEW,将部门号为5的部门名称修改为“生产车间”update DS_VIEW set DepartmentName=生产车间where
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美术毕业设计展示
- 2025年事业单位工勤技能-湖南-湖南房管员四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖南-湖南医技工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北铸造工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北放射技术员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北广播电视天线工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北图书资料员四级(中级工)历年参考题库典型考点含答案解析
- 2025年保险行业数字化理赔服务与保险理赔服务体验优化报告
- 2025年沉浸式戏剧行业市场趋势与消费者行为分析报告
- 2025年事业单位工勤技能-海南-海南房管员四级(中级工)历年参考题库含答案解析
- DB11∕T 637-2024 房屋结构综合安全性鉴定标准
- 2024年10月中级注册安全工程师《金属冶炼安全》真题及答案
- 《高值医用耗材临床应用点评制度》
- 图书分类与管理制度
- 探索数字化技术在博物馆藏品保护与展示中的创新应用
- 康复治疗过程中突发事件的应急预案和处理流程
- 应急调度员电话压力疏导
- 农户建筑垃圾管理制度
- 2025年烟花爆竹安全作业特种操作证考试试卷备考建议
- 学校快递驿站管理制度
- 四川电网新建电源并网服务指南(2025年)
评论
0/150
提交评论