sql语句中with⽤法
转载地址:
1、关键字作⽤:
WITH AS短语,也叫做⼦查询部分,定义⼀个SQL⽚断后,该SQL⽚断可以被整个SQL语句所⽤到。有的时候,with as是为了提⾼SQL语句的可读性,减少嵌套冗余。
2、关键字概述:
1、在标准的数据库中,如hive,Oracle,DB2,SQL SERVER,PostgreSQL都是⽀持WITH AS 语句进⾏递归查询。只有MySQL是不⽀持的。
⽐如SQL:
with as (
select * from user ) A
select * from student customer where customer.userid = a.user.id
这个sql语句的意思是:先执⾏select * from user把结果放到⼀个临时表A中,作为全局使⽤。
with as的⽤法可以通俗点讲是,讲需要频繁执⾏的slq⽚段加个别名放到全局中,后⾯直接调⽤就可以,这样减少调⽤次数,优化执⾏效率。
3. with as的优点
增加了sql的易读性,如果构造了多个⼦查询,结构会更清晰;
更重要的是:“⼀次分析,多次使⽤”,这也是为什么会提供性能的地⽅,达到了“少读”的⽬标
“⼀次分析,多次使⽤”,这也是为什么会提供性能的地⽅,达到了“少读”的⽬标
4.⾃⼰练习⼀道题⽬
with ZQ1 as
(select distinct(sno),sname,ssex,sclass from student),
ZQ2 as
(select sno,cno,degree from score )sql语句的功能有
select * from ZQ1,ZQ2
where ZQ1.sno =ZQ2.sno