好用的 with as

简介

        with as 相当于视图,是子查询的另一种写法,原理是将建立一个临时表。在做分析时如果需要多次使用到某些中间表可以使用该方法,格式如下:

with SQL_1 as (SELECT ***),SQL_2 as (SELECT ***) 
select * from XXX where XXX and XXX;

例子

        如对于EMP表:

SELECT * FROM EMP;

        拆成两个表:

WITH
E_ID AS (SELECT EMPNO,ENAME FROM EMP),
DETAIL AS (SELECT EMPNO,JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP)
SELECT * FROM  E_ID

        同理:

WITH
E_ID AS (SELECT EMPNO,ENAME FROM EMP),
DETAIL AS (SELECT EMPNO,JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP)
SELECT * FROM  DETAIL

        直接使用视图:

WITH
E_ID AS (SELECT EMPNO,ENAME FROM EMP),
DETAIL AS (SELECT EMPNO,JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP)
SELECT * FROM  e_id E JOIN DETAIL D ON E.EMPNO=D.EMPNO

        可以多次使用,代替一些连接和嵌套,with as得到的信息存放到临时表中,减省数据库的资源从而提高性能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/12.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring-数据处理及跳转

结果跳转方式 ModelAndView 设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 . 页面 : {视图解析器前缀} viewName {视图解析器后缀} <!-- 视图解析器 --> <bean class"org.springframework.web.servlet.view.InternalResourceViewRes…

Vue源码解读学习

Vue源码 观察者模式 & 发布订阅 观察者模式&#xff1a;中心一对多 系统单点间的灵活和拓展&#xff08;广播的方式&#xff09; 发布订阅&#xff1a;将注册列表遍历发布给订阅者 initInject initState initProvide他们挂载顺序为什么这样设计&#xff1f; initstate…

解决npm run dev跑项目,发现node版本不匹配,怎么跑起来?【已解决】

首先问题点就是我们npm run dev 运行项目的时候发现出错&#xff0c;跑不起来&#xff0c;类型下面这种 这里的出错的原因在于我们的node版本跟项目的版本不匹配 解决办法 我这里的问题是我的版本是node14的&#xff0c;然后项目需要node20的&#xff0c;执行下面的就可以正…

html接入高德地图

1.申请key key申请地址&#xff1a;https://console.amap.com/dev/key/app 官方文档 https://lbs.amap.com/api/javascript-api-v2/summary 2.html接入示例 需要将YOUR_KEY替换成自己的key <!doctype html> <html> <head><meta charset"utf-…