全球旧事资料 分类
的自身连接需要给表起别名以示区别由于所有属性名都是同名属性,因此必须使用别名前缀三、复合条件连接
WHERE子句中含多个连接条件时,称为复合条件连接
343嵌套查询
一、嵌套查询概述一个SELECTFROMWHERE语句称为一个查询块将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询
嵌套查询
SELECTS
ame
外层查询或父查询
FROMStude
t
WHERES
oIN
(SELECTS
o内层查询或子查询
FROMSC
WHEREC
o2);
1、嵌套查询子查询的限制:
不能使用ORDERBY子句,层层嵌套方式反映了SQL语言的结构化,有些嵌套查询可
以用连接运算替代
2、嵌套查询分类
不相关子查询:子查询的查询条件不依赖于父查询
相关子查询:子查询的查询条件依赖于父查询
3、嵌套查询求解方法
不相关子查询:
是由里向外逐层处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于
建立其父查询的查找条件。
相关子查询:
首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,
若WHERE子句返回值为真,则取此元组放入结果表;
然后再取外层表的下一个元组;
重复这一过程,直至外层表全部检查完为止。
4、子查询的谓词
f带有IN谓词的子查询带有比较运算符的子查询带有ANY或ALL谓词的子查询带有EXISTS谓词的子查询
值,给出列名无实际意义
345Select语句的一般形式
SELECT语句的一般格式SELECTALLDISTINCT目标列表达式别名
目标列表达式别名…FROM表名或视图名别名
表名或视图名别名…WHERE条件表达式GROUPBY列名1HAVING条件表达式ORDERBY列名2ASCDESC
35、视图
虚表,是从一个或几个基本表(或视图)导出的表只存放视图的定义,不会出现数据冗余基表中的数据发生变化,从视图中查询出的数据也随之改变
351定义视图
一、建立视图语句格式
CREATEVIEW视图名列名,列名…
AS子查询WITHCHECKOPTION;组成视图的属性列名:全部省略或全部指定子查询不允许含有ORDERBY子句和DISTINCT短语RDBMS执行CREATEVIEW语句时只是把视图定义存入数据字典,并不执行其中的SELECT语句。二、删除视图语句的格式:DROPVIEW视图名;该语句从数据字典中删除指定的视图定义如果该视图上还导出了其他视图,使用CASCADE级联删除语句,把该视图和由它导出的所有视图一起删除删除基表时,由该基表导出的所有视图定义都必须显式地使用DROPVIEW语句删除删除视图
352、查询视图
从用户角度:查询视图与查询基本表相同
fDr
好听全球资料 返回顶部