Optimisez les requêtes SQL à l'aide de vues, de tables temporaires et de CTE
Apr 03 2023
.
SELECT SUM(sales.amount) total_sales, customers.name, customers.email
FROM sales
JOIN customers ON sales.customer_id = customers.id
WHERE sales.date BETWEEN ‘2022–01–01’ AND ‘2022–12–31’
GROUP BY customers.id
CREATE VIEW sales_by_customer AS
SELECT sales.customer_id, SUM(sales.amount) as total_sales
FROM sales
WHERE sales.date BETWEEN ‘2022–01–01’ AND ‘2022–12–31’
GROUP BY sales.customer_id;
SELECT sales_by_customer.total_sales, customers.name, customers.email
FROM sales_by_customer
JOIN customers ON sales_by_customer.customer_id = customers.id;
SELECT sales_by_customer.total_sales, customers.name, customers.email
FROM sales_by_customer
JOIN customers ON sales_by_customer.customer_id = customers.id;
CREATE TEMP TABLE temp_sales_by_customer AS
SELECT sales.customer_id, SUM(sales.amount) as total_sales
FROM sales
WHERE sales.date BETWEEN ‘2022–01–01’ AND ‘2022–12–31’
GROUP BY sales.customer_id;
SELECT temp_sales_by_customer.total_sales, customers.name, customers.email
FROM temp_sales_by_customer
JOIN customers ON temp_sales_by_customer.customer_id = customers.id;
WITH sales_by_customer AS
(
SELECT sales.customer_id, SUM(sales.amount) as total_sales
FROM sales
WHERE sales.date BETWEEN ‘2022–01–01’ AND ‘2022–12–31’
GROUP BY sales.customer_id
)
SELECT sales_by_customer.total_sales, customers.name, customers.email
FROM sales_by_customer
JOIN customers ON sales_by_customer.customer_id = customers.id;
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































