Sobes.tech
Middle+

Ar rašėte ką nors su CTE (Bendrojo lentelės išraiška, WITH)?

sobes.tech AI

Atsakymas iš AI

Taip, aš naudoju CTE (Bendra lentelės išraiška) SQL užklausose, siekdamas pagerinti sudėtingų užklausų skaitomumą ir struktūrą. CTE leidžia apibrėžti laikiną pavadintą lentelę, kurią galima naudoti pagrindinėje užklausoje.

CTE naudojimo pavyzdys:

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 kalboje tai patogu naudoti kartu su duomenų bazės darbui skirtais paketais, pvz., database/sql ar sqlx, tiesiog perduodant šią užklausą kaip eilutę.