[计算机]sql高级
SQLServer一.子查询在SQL语言中,一个SELECT…FROM…WHERE语句称为一个查询块,将一个查询块嵌套在另一个查询块的WHERE子句中的查询称为子查询。子查询分为嵌套子查询和相关子查询两种。嵌套子查询的求解方法是由里向外处理,即每个子查询在其上一级查询处理之前求解,子查询的结果作为其父查询的查询条件。子查询只执行一次,且可以单独执行;嵌套子查询使得可以用一系列简单查询构成复杂的查询,从而明显增强了SQL的查询处理能力。a)带有比较运算符的嵌套子查询(要求子查询返回的值为一行一列)b)In的嵌套子查询(子查询返回的值为多行一列)c)EXISTS的嵌套子查询:如果子查询的结果非空,即记录条数1条以上,则EXISTS(子查询)将返回真(true),否则返回假(false)。d)相关子查询:子查询依靠外部查询获得值。这意味着子查询是重复执行的,为外部查询可能选择的每一行均执行一次。子查询不能单独执行。二.视图1.视图的概念视图是另一种查看数据库中一个或多个表中的数据的方法。视图基于实际的数据表(基表)或别的视图而创建。视图是一种虚拟表,也就是说,视图中并不存储实际的数据。任何对视图的操作,都会转换为到基表的操作。2.视图的用途:l筛选表中的行l防止未经许可的用户访问敏感数据l将多个物理数据表抽象为一个逻辑数据表3.创建视图语法:CREATEVIEWview_nameAS