通用表表达式查询

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

相关推荐
万事大吉CC18 小时前
SQL表设计与约束教程
数据库·sql
员大头硬花生18 小时前
七、InnoDB引擎-架构-后台线程
java·数据库·mysql
Ryan ZX18 小时前
etcd 高可用分布式键值存储
数据库·分布式·etcd
研究司马懿18 小时前
【ETCD】ETCD——confd配置管理
数据库·golang·自动化·运维开发·etcd·argocd·gitops
..Cherry..18 小时前
Etcd详解(raft算法保证强一致性)
数据库·算法·etcd
0和1的舞者19 小时前
网络通信的奥秘:HTTP详解 (七)
服务器·网络·网络协议·http·okhttp·软件工程·1024程序员节
Tadas-Gao19 小时前
MySQL存储架构解析:从数据无序到索引艺术的演进
数据库·分布式·mysql·微服务·云原生·架构
ANGLAL20 小时前
17.MyBatis动态SQL语法整理
java·sql·mybatis
懒羊羊不懒@20 小时前
【MySQL | 基础】通用语法及SQL分类
数据库·oracle
llxxyy卢20 小时前
基于时间的 SQL 盲注-延时判断和基于布尔的 SQL 盲注
数据库·sql·oracle