Sobes.tech
Junior — Middle

Vytvořili jste složité SQL dotazy s mnoha podmínkami a joiny?

sobes.tech AI

Odpověď od AI

Ano, ve své praxi jsem vytvářel složité SQL dotazy s mnoha podmínkami a joiny. Tyto dotazy se často používají k získání agregovaných dat z několika tabulek, filtrování podle různých parametrů a optimalizaci výkonu dotazů.

Například v Node.js, s použitím knihovny knex, lze sestavit dotaz s více joiny a podmínkami:

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 dotaz umožňuje získat objednávky se stavem "completed", kde částka platby je větší než 100, slučováním dat z tabulek objednávek, zákazníků a plateb.

V reálných projektech je důležité sledovat výkon těchto dotazů a v případě potřeby je optimalizovat pomocí indexů a analýzy plánu vykonávání.