sql 中的with as语句使用,用法

news/2024/7/9 22:53:51 标签: sql, 数据库, postgresql

一、with 的用法

sql">With alias_name as (select 1)[,alias_name as (select n) ]--中括号可以省略
Select

二、关键字概述

在标准的数据库中,如hive,Oracle,DB2,SQL SERVER,PostgreSQL都是支持WITH AS 语句进行递归查询。只有MySQL是不支持的
A:

IDNAME
1LI
2QIN

B:

IDNAME
1LI
3SUN
sql">with test_with as(select * from A) select * from B where B.id in(select id from test_with)

这个sql语句的意思是:先执行select * from A把结果放到一个临时表test_with中,作为全局使用。

with as的用法可以通俗点讲是,讲需要频繁执行的slq片段加个别名放到全局中,后面直接调用就可以,这样减少调用次数,优化执行效率。

3. with as的优点

增加了sql的易读性,如果构造了多个子查询,结构会更清晰;
更重要的是:“一次分析,多次使用”,这也是为什么会提供性能的地方,达到了“少读”的目标
“一次分析,多次使用”,这也是为什么会提供性能的地方,达到了“少读”的目标


http://www.niftyadmin.cn/n/1705245.html

相关文章

【JAVA】Spring事务的传播行为

前言 Spring为我们提供了巨大的便利,其中的事务增强特性,使得程序出错时,不需要我们进行手动回滚。Spring在Propagation定义了7种事务的传播行为: public enum Propagation {REQUIRED(TransactionDefinition.PROPAGATION_REQUIR…

Office文档在线编辑的实现-转

http://www.cnblogs.com/jianyi0115/Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件。IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav的服务器端,可以很容易的实现offic…

java代码保留两位小数的做法

java代码保留两位小数的做法 在日常Java开发中,少不了会有页面或界面上展示的数据保留小数点后两位的需求,这里列举了几种可行的方法(有更好的方法可以分享给我) import java.math.BigDecimal; import java.math.RoundingMode; …

将职业和兴趣结合起来,于是“胖了么”诞生了!

写在前面的话 博客断断续续写了2年多,毕业也快一年了。从一开始的几个粉丝到现在的6千多粉丝,真的是让我受宠若惊,接下来我会努力提升博客的质量,尽量输出更加优质的内容,有不足的地方还需大家批评指正。 第一次租房 …

DBeaver,一款好用的通用数据库管理器

界面 如下,清新脱俗 下载 官网下载地址https://dbeaver.io/download/ 官网下载链接失败的原因是需要用外网访问,这里放一个版本的下载 链接:https://pan.baidu.com/s/1rYMwmv6MR41db_XhBxhprw?pwdfump 提取码:fump 安装 下…

C#进行Visio二次开发之鸡毛蒜皮(一)

本文主要分享一些在Visio二次开发中碰到的各种小问题及其解决方法:1. 为图元设置颜色在一些分析中,如电气线路分析中,需要根据不同的状态改变图元的颜色,那么如何改变指定图元的设备颜色呢?下面提供代码解决该问题。sh…

【JVM】灵性一问——为什么用元空间替换永久代?

前言 首先需要明确的是,以下我们讨论的HotSpot虚拟机,其他类型的虚拟机,例如JRockit与J9等,压根就没有永久代的概念。因此,下面所说的“虚拟机”都是HotSpot版本的。 要想理解这种变化的原因,需要先理解方…

JUC基石——Unsafe类

前言 我们经常在JUC包下的ConcurrentHashMap、Atomic开头的原子操作类、AQS以及LockSupport里面看到Unsafe类的身影,这个Unsafe类究竟是干什么的,本文可以带着读者一探究竟。 Java和C、C语言的一个重要区别,就是Java中我们无法直接操作一块内…