200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > mysql中with as的用法是什么

mysql中with as的用法是什么

时间:2023-04-02 23:35:30

相关推荐

mysql中with as的用法是什么

数据库|mysql教程

mysql

数据库-mysql教程

在哪里可以下载源码,ubuntu搭建ssr,tomcat怎么工作流程,爬虫疫情电影,php个人主页源代码,seo课程培训班多少钱lzw

mysql中with as的用法是什么

佛教用品网站源码,vscode代码评论,Ubuntu折叠网卡显示,tomcat冷部署,怎么进入sqlite,html 插件,ssm框架项目的前端,哪些好玩爬虫,php if包含,二级域名 seo,网易新闻网站源码,网页更多按钮,php资源站模板,微赞首页更改为支付宝主页面,简单图书管理系统功能,cms小程序模板标签嵌套lzw

WITH AS短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高,也可以在UNION ALL的不同部分,作为提供数据的部分。

php 农业机械网站源码,ubuntu超级用户界面,tomcat上下文路径配置,爬虫下载网站图片,阿里云盘直链解析php源码,学seo好找工作吗seo公司lzw

对于UNION ALL,使用WITH AS定义了一个UNION ALL语句,当该片断被调用2次以上,优化器会自动将该WITH AS短语所获取的数据放入一个Temp表中。而提示meterialize则是强制将WITH AS短语的数据放入一个全局临时表中。很多查询通过该方式都可以提高速度。

因with as 子查询仅执行一次,将结果存储在用户临时表中,提高查询性能,所以适合多次引用的场景,如:复杂的报表统计,分页查询,且需要拿到sum、count、avg这类结果作为筛选条件,对查询出的结果进行二次处理!

特别对于union all比较有用。因为union all的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高

常用语法

–针对一个别名

with tmp as (select * from tb_name)

–针对多个别名

withtmp as (select * from tb_name),tmp2 as (select * from tb_name2),tmp3 as (select * from tb_name3),…

–相当于建了个e临时表

with e as (select * from scott.emp e where e.empno=7499)select * from e;

–相当于建了e、d临时表

withe as (select * from scott.emp),d as (select * from scott.dept)select * from e, d where e.deptno = d.deptno;

其实就是把一大堆重复用到的sql语句放在with as里面,取一个别名,后面的查询就可以用它,这样对于大批量的sql语句起到一个优化的作用,而且清楚明了。

mysql视频教学

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。