Sobes.tech
Middle+

Írtál már valamit CTE-vel (Common Table Expression, WITH)?

sobes.tech MI

Válasz az MI-től

Igen, SQL-lekérdezésekben CTE-t (Common Table Expression) használtam a komplex lekérdezések olvashatóságának és szerkezetének javítása érdekében. A CTE lehetővé teszi ideiglenes névvel ellátott táblák meghatározását, amelyeket a fő lekérdezésen belül lehet használni.

A CTE használatának példája:

WITH recent_orders AS (
    SELECT order_id, customer_id, order_date
    FROM orders
    WHERE order_date > CURRENT_DATE - INTERVAL '30 days'
)
SELECT customer_id, COUNT(order_id) AS orders_count
FROM recent_orders
GROUP BY customer_id;

Go-ban ez kényelmesen használható adatbázis-kezelő könyvtárakkal, például a database/sql vagy sqlx, egyszerűen átadva ezt a lekérdezést sztringként.