Sobes.tech
Junior — Middle

Vytvorili ste zložité SQL dotazy s množstvom podmienok a joinov?

sobes.tech AI

Odpoveď od AI

Áno, v mojej praxi som vytvoril zložité SQL dopyty s mnohými podmienkami a joinmi. Takéto dopyty sa často používajú na získanie agregovaných dát z viacerých tabuliek, filtrovanie podľa rôznych parametrov a optimalizáciu výkonu dopytov.

Napríklad v Node.js, s použitím knižnice knex, je možné zostaviť dopyt s viacerými joinmi a podmienkami:

const knex = require('knex')({client: 'pg'});

const query = knex('orders')
  .join('customers', 'orders.customer_id', 'customers.id')
  .leftJoin('payments', 'orders.id', 'payments.order_id')
  .where('orders.status', 'completed')
  .andWhere('payments.amount', '>', 100)
  .select('orders.id', 'customers.name', 'payments.amount')
  .toString();

console.log(query);

Tento dopyt umožňuje získať objednávky so stavom "completed", kde suma platby je väčšia ako 100, spájaním dát z tabuliek objednávok, zákazníkov a platieb.

V reálnych projektoch je dôležité sledovať výkon týchto dopytov a v prípade potreby ich optimalizovať pomocou indexov a analýzy plánu vykonávania.