知识大全 SQL入门:表表达式

Posted

篇首语:世事洞明皆学问,人情练达即文章。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL入门:表表达式相关的知识,希望对你有一定的参考价值。

SQL入门:表表达式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   表表达式  如果只需要单个查询的视图定义 可使用表表达式     表表达式是临时的 只在 SQL 语句的使用期限内有效 表表达式不能共享 但它们比视图更灵活 任何授权的用户都可共享视图定义     本节描述如何在查询中使用公共表表达式和嵌套表表达式      公共表表达式    公共表表达式是在全查询的开头使用 WITH 关键字定义的命名结果表 公共表表达式是您创建以在复杂查询之中使用的表表达式 在查询的开头使用 WITH 子句定义并命名公共表表达式 对公共表表达式的重复引用使用同一个结果集 相比之下 如果使用嵌套表表达式或视图 则每次都将重新生成结果集 其结果可能各不相同     下列示例列出公司中教育级别大于 平均工资比那些同时雇用的且有同样教育级别的人低的所有人 在该查询后面会更详细地描述查询的各个部分     ( )      WITH      PAYLEVEL AS       (SELECT EMPNO YEAR(HIREDATE) AS HIREYEAR EDLEVEL            SALARY+BONUS+M AS TOTAL_PAY         FROM EMPLOYEE         WHERE EDLEVEL > )     ( )       PAYBYED (EDUC_LEVEL YEAR_OF_HIRE AVG_TOTAL_PAY) AS       (SELECT EDLEVEL HIREYEAR AVG(TOTAL_PAY)         FROM PAYLEVEL         GROUP BY EDLEVEL HIREYEAR)    ( )      SELECT EMPNO EDLEVEL YEAR_OF_HIRE TOTAL_PAY DECIMAL(AVG_TOTAL_PAY )    FROM PAYLEVEL PAYBYED    WHERE EDLEVEL=EDUC_LEVEL     AND HIREYEAR = YEAR_OF_HIRE     AND TOTAL_PAY < AVG_TOTAL_PAY                  ( )这是名为 PAYLEVEL 的公共表表达式 此结果表包括雇用某个人的年份 该雇员的总收入以及他(或她)的教育级别 只包括雇员的教育级别大于 的那些行     ( )这是名为 PAYBYED(或 PAY by education)的公共表表达式 该表达式使用在前一个公共表表达式中创建的 PAYLEVEL 表来确定每个教育级别同一年雇用的雇员的教育级别 雇用年份以及平均收入 此表返回的列被赋予的名称与选择列表中所使用的列名不同(如 EDUC_LEVEL) 这会生成命名为 PAYBYED 的结果集 与嵌套表表达式示例中产生的结果相同     ( )最后 我们获得能产生期望结果的实际查询 连接这两个表(PAYLEVEL PAYBYED)以确定总收入比同年雇用的人的平均收入低的那些人 注意 PAYBYED 是以 PAYLEVEL 为基础 所以在完整语句中有效地存取了 PAYLEVEL 两次 两次都使用同一组行来计算查询   最终结果如下            嵌套表表达式  嵌套表表达式是一个临时视图 其中的定义被嵌套(直接定义)在主查询的 FROM子 句中     下列查询使用嵌套表表达式来寻找那些教育级别超过 的雇员的平均总收入 教育级别以及雇用年份         SELECT EDLEVEL HIREYEAR DECIMAL(AVG(TOTAL_PAY) )    FROM (SELECT YEAR(HIREDATE) AS HIREYEAR EDLEVEL            SALARY+BONUS+M AS TOTAL_PAY         FROM EMPLOYEE         WHERE EDLEVEL > ) AS PAY_LEVEL    GROUP BY EDLEVEL HIREYEAR    ORDER BY EDLEVEL HIREYEAR       结果如下     educity cn/img_ / / / jpg > cha138/Article/program/SQLServer/201311/22104

相关参考

知识大全 SQL入门:表

SQL入门:表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  表是由定义的列数和可变的行数组成的

知识大全 SQL入门:创建表

SQL入门:创建表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用CREATETABLE语句

知识大全 SQL入门:从多个表中选择数据

SQL入门:从多个表中选择数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  可使用SELECT

知识大全 SQL入门:插入数据

SQL入门:插入数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  当创建新表时新表不包含任何数

知识大全 ORACLE入门之查看数据库的SQL

ORACLE入门之查看数据库的SQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  查看表空间的

知识大全 创建表

SQL实战新手入门:创建表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  创建表  现在已经创建

知识大全 SQL实战新手入门

SQL实战新手入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQL实战新手入门前言  前言

知识大全 Linq入门演练:lambda表达式

Linq入门演练:lambda表达式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  今天大家一同

知识大全 正则表达式入门简介

  简单的说正则表达式是一种可以用于模式匹配和替换的强有力的工具我们可以在几乎所有的基于UNIX系统的工具中找到正则表达式的身影例如vi编辑器Perl或PHP脚本语言以及awk或sedshell程序等

知识大全 SQL入门:模式

SQL入门:模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  模式是命名对象的集合并提供了数据