SQL语句withas⽤法
非地带性⼀直以来很少在SQL中使⽤过with as 的⽤法,现在打算记录这条语句的使⽤⽅法。贫血吃什么药好
WITH AS短语,也叫做⼦查询部分(subquery factoring),是⽤来定义⼀个SQL⽚断,该SQL⽚断会被整个SQL语句所⽤到。这个语句算是公⽤表表达式(CTE)。
小短文
⽐如
with A as (lect * from class)
lect *from A
这个语句的意思就是,先执⾏lect * from class 得到⼀个结果,将这个结果记录为A ,在执⾏lect *from A 语句。A 表只是⼀个别名。
也就是将重复⽤到的⼤批量的SQL语句,放到with as 中,加⼀个别名,在后⾯⽤到的时候就可以直接⽤。
对于⼤批量的SQL数据,起到优化的作⽤。
中国古代朝代⼆、with的相关总结(摘录别⼈博客)
1.使⽤with⼦句可以让⼦查询重⽤相同的with查询块,通过lect调⽤(with⼦句只能被lect查询块引⽤),⼀般在with查询⽤到多次情况下。在引⽤的lect语句之前定义,同级只能定义with关键字只能使⽤⼀次,多个⽤逗号分割。
2.with⼦句的返回结果存到⽤户的临时表空间中,只做⼀次查询,反复使⽤,提⾼效率。
3.在同级lect前有多个查询定义的时候,第1个⽤with,后⾯的不⽤with,并且⽤逗号隔开。
4.最后⼀个with ⼦句与下⾯的查询之间不能有逗号,只通过右括号分割,with ⼦句的查询必须⽤括号括起来
5.如果定义了with⼦句,⽽在查询中不使⽤,那么会报ora-32035 错误:未引⽤在with⼦句中定义的查询名。(⾄少⼀个with 查询的name未被引⽤,解决⽅法是移除未被引⽤的with查询),注意:只要后⾯有引⽤的就可以,不⼀定⾮要在主查询中引⽤,⽐如后⾯的with查询也引⽤了,也是可以的。
三王世家6.前⾯的with⼦句定义的查询在后⾯的with⼦句中可以使⽤。但是⼀个with⼦句内部不能嵌套with⼦句。
妇女节活动>描写风景的诗句
7.当⼀个查询块名字和⼀个表名或其他的对象相同时,解析器从内向外搜索,优先使⽤⼦查询块名字。黄疸多久能消退
8.with查询的结果列有别名,引⽤的时候必须使⽤别名或*。