新SQL Server 2008数据库应用教程 第2版 教学课件 邱李华 李晓黎 任华 冉兆春 第5章.pptVIP

  • 12
  • 0
  • 约3.43万字
  • 约 179页
  • 2016-10-26 发布于广东
  • 举报

新SQL Server 2008数据库应用教程 第2版 教学课件 邱李华 李晓黎 任华 冉兆春 第5章.ppt

2.使用等号连接子查询 【例6-66】要显示财务部的所有员工信息,可以使用以下语句: SELECT * FROM Employees WHERE Dep_id = (SELECT Dep_id FROM Departments WHERE Dep_name=财务部) 3.使用EXISTS关键字连接子查询 【例6-67】要显示示财务部的所有员工信息,可以使用以下语句: SELECT * FROM Employees WHERE EXISTS (SELECT * FROM Departments WHERE Dep_id = Employees. Dep_id AND Dep_name =财务部) EXISTS关键字用于检测子句的结果集是否为空。 4.在HAVING子句中使用子查询 【例6-68】要显示部门平均工资大于所有员工平均成绩的记录,可以使用以下语句: SELECT Departments. Dep_name, AVG(Employees.Wage) FROM Employees, Departments WHERE Employees. Dep_id = Departments. Dep_id GROUP BY Departments. Dep_name HAVING AVG(Employees. Wage) (SELECT AVG(Wage) FROM Employees) 6.4.12 合并查询 合并查询是将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。 使用UNION运算符组合两个查询的结果集的两个前提是: ? 所有查询结果中的列数和列的顺序必须相同; ? 对应列的数据类型必须兼容。 【例6-69】 从表Departments中查询各部门信息,然后在从表Employees中查询各个部门的部门经理,具体语句如下: SELECT Dep_Id, Dep_Name FROM Departments UNION SELECT Dep_Id, Emp_Name FROM Employees WHERE Title = 部门经理 GO 【例6-70】 下面的合并查询分别为每个SELECT语句指定ORDER BY子句。 SELECT Dep_Id, Dep_Name FROM Departments ORDER BY Dep_Name UNION SELECT Dep_Id, Emp_Name FROM Employees WHERE Title = 部门经理 ORDER BY Emp_Name GO 执行的结果为: 消息156,级别15,状态1,第3 行 关键字UNION 附近有语法错误。 6.4.13 保存查询结果 1.保存到新表 在SELECT语句中使用INTO子句可以创建一个新表,并用SELECT的结果集填充该表。新表的结构由选择列表中列的特性定义。基本语法如下: SELECT子句 [ INTO 子句 ] FROM 子句 【例6-71】使用下面的语句将员工姓名、性别、所属部门名称等信息保存到临时表“#员工信息”中。 USE HrSystem DROP TABLE #员工信息 SELECT Employees.Emp_name, Employees.Sex, Departments.Dep_name INTO #员工信息 FROM Employees, Departments WHERE Departments.Dep_id=Employees.Dep_id 2.保存到变量 可以在SELECT子句中使用等号将当前记录的字段值赋值到指定的变量中,基本语法如下: SELECT @变量名 = 列名, ... 【例6-72】将记录编号为1的记录的员工姓名和工资信息分别保存到变量@name和@wage中,并显示变量的值。 具体代码如下: USE HrSystem DECLARE @name varchar(50) DECLARE @wage float SELECT @name = Emp_Name, @wage = wage FROM Employees WHERE Emp_id=1 SELECT @name, @wage --显示变量的值 6.5 视图管理 6.5.1 视图概述 6.5.2 创建视图 6.5.3 修改视图 6.5.4 删除视图 6.5.1 视图概述 概括地说,视图有以下特点。 ? 视图可以使用户只关心他感兴趣的某些特定数据,不必要的数据可以不出现在视图中。例如,可以定义一个视图,只检索部门编号为2的员工数据,这样,部门编号为2的部门管理员就可以使用该视图,只操作其感兴趣的数据。 ? 视图增强了数据的安全性。因为用户只

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档