所以我有类似的要求
WITH customers_in_usa AS (
SELECT
customerName, state
FROM
customers
WHERE
country = 'USA'
) SELECT
customerName
FROM
customers_in_usa
WHERE
state = 'CA'
ORDER BY customerName;
但是当写下来时我发现了一个错误:'WITH在这个位置'error_picture无效输入。你能帮我理解这段代码中的错误吗?
答案 0 :(得分:5)
WITH customers_in_usa AS
现在是无效的MySQL代码。
MySQL将在MySQL版本8中支持CTE。
您可以重写SQL代码,这应该会产生相同的结果。
SELECT
customerName
, state
FROM
customers
WHERE
country = 'USA'
AND
state = 'CA'
ORDER BY
customerName
答案 1 :(得分:1)
在版本8.0.1之前,MySQL不支持common table expressions和WITH
语法。
我编写此版本时,版本8.0仍然没有生产就绪(但它处于候选版本状态,所以很快就会成为GA)。