在oracle中,with语句可以实现子查询,用于创建一个公共临时表,提高语句执行的效率,语法为“with tempName as (select ….)select …”。
本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
oracle中with的用法是什么
我们在oracle中写查询语句时,经常会在select子句后或者from 子句后写子查询,本文介绍怎么使用with子句实现子查询,并且效率要更高
打开pl/sql软件,使用scott用户登录到oracle数据库,找到雇员表(EMP)
本示例需求是查询薪资前5名的雇员信息,一般情况会想到先按薪资排序,然后取出前5条数据,没错也能实现目标。
本例使用with语句先定义按薪资排序的雇员信息临时查询,然后查询该临时查询即可;语法为with queryname1 as(sql查询语句) select * from queryname1。
根据相关资料介绍,with子句的好处在于:如果遇到多个同一子查询时,采用此方式效率比一般子查询高,而且代码结构更清晰易懂。
with语法支持允许定义多个子查询,多个子查询间有逗号分隔,定义与最后的查询语句间没有除号分隔。
推荐教程:《Oracle视频教程》