嵌套子查询:
(1)select … from … where
子查询可以在where里面,也可以在from里面;因为他们后面跟的就是一组特定的关系,而我们子查询即sql语句就表达了一种关系;
(2)with的用法
with table1(column1,column2) as select … from…where select … from table1
with是创建一个临时的关系,相比用常规的sql语句而言,更简洁易懂;
(3)同时,在with当中定义的表也可以在后面子查询中用,注意如果名称不一样,则以子查询中的表为准,类似于编程语言中的局部变量。
(4)视图定义
视图关系在概念上包含查询结果中的元组,但并不
进行预计算和存储。相反,数据库系统存储与视图关系相关联的查询表达式。当视图关系被访问时,其中的元组是通过计算查询结果而被创建出来的。
create view departments_total_salary(dept_name,total_salary) as select dept_name,sum(salary) from instructor group by dept_name
一旦视图关系出现在查询中,它就被已存储的查询表达式代替。因此,无论我们何时执行这个查询,视图关系都被重新计算。