With查询语句已with开头,相当于在查询之前先构建一个临时表,被指定的查询结果存与临时表中,之后便可多次使用它做进一步的分析和处理。
语法:
with _tempTable as (select * from table ) select * from _tempTable
例子:
with _tempStudent as( select * from t_student t where class = '初二3班' ) select sex,count(1) nums from _tempStudent where sex = '男' and height > '170' union all select sex,count(1) nums from _tempStudent where sex = '女' and height > '160'
多个with as 用法 每个临时存量直接用 "," 隔开
with t1 as ( select * from student where name in('张三','李四') ),t2 as ( select * from student where name in('王五') ) select * from t1 union select * from t2
如果with as 有嵌套的情况, 多个with as,后面的as内部可以直接调用先声明的临时对象
with t1 as ( select * from student where name in('张三','李四') ),t2 as ( select * from t1 where name in('王五') ) select * from t2
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。