MYSQL CTE

1. CTE是什么

从Mysql 8.x开始支持公用表达式(简称CTE)。CTE是一个命名的临时结果集,它不作为对象存储,仅在查询执行期间持续。有点类似子查询,把C查询的结果作为中间表,但和子查询不同的是,CTE查询结果可以被多次使用。

2. CTE语法

WITH cte_name_1 (column_list) AS (subquery)
    [, cte_name_2 (column_list) AS (subquery)] 
SELECT column_list FROM cte_name;

请注意,查询中的列数必须与column_list中的列数相同。 如果省略column_listCTE将使用定义CTE的查询的列列表。复杂CTE表达式如下:

WITH salesrep AS (
    SELECT 
        employeeNumber,
        CONCAT(firstName, ' ', lastName) AS salesrepName
    FROM
        employees
    WHERE
        jobTitle = 'Sales Rep'
),
customer_salesrep AS (
    SELECT 
        customerName, salesrepName
    FROM
        customers
            INNER JOIN
        salesrep ON employeeNumber = salesrepEmployeeNumber
)
SELECT 
    *
FROM
    customer_salesrep
ORDER BY customerName;



 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值