通用表表达式查询

1.方法:

1.1普通变量创建

with 表名(列名) as(select 内容)

语义:创建一张表 列名和内容11对应

和临时表的区别,这个类似变量,变量和常量的区别

后面可以影响前面:

1.2循环变量创建

员工分管层级:

sql 复制代码
with recursive emp_path(emp_id,emp_name,path) as (
	select employee_id,first_name||last_name,first_name||','||last_name
	from employees
	where manager_id is NULL
	
	UNION ALL
	SELECT employee_id, first_name||','||last_name, path||'->'||first_name||','||last_name
	FROM employees e
	JOIN emp_path p 
	ON (e.manager_id = p.emp_id)
)

select * 
from emp_path 

2.替代传统join写法

3.好处

使用CTE的主要好处包括:提高复杂查询的可读性。CTE可以将复杂查询模块化,组织成容易理解的结构。支持递归查询。CTE通过引用自身实现递归,可以方便地处理层次结构数据和图数据。sm

相关推荐
wxwx_bscxy32223 分钟前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向1 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却2 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO4 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记4 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数4 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全
坐吃山猪5 小时前
【多线程】Semaphore使用
java·数据库·oracle·多线程
数智启示录5 小时前
PostgreSQL 内存调优实战(第 12 篇):work_mem 只调大 64 倍,峰值为什么远不止 64 倍
运维·数据库·经验分享·postgresql·面试
姜太小白6 小时前
【Oracle】记排查sh脚本调用SQL执行卡顿的排查总结
数据库·sql·oracle
bgy66666 小时前
MariaDB 数据库 基础详解
数据库·mariadb