Sobes.tech
Junior — Middle

Da li ste pravili složene SQL upite sa mnogo uslova i join-ova?

sobes.tech АИ

Одговор од АИ

Da, u praksi sam pravio složene SQL upite sa mnogo uslova i join-ova. Takvi upiti se često koriste za dobijanje agregovanih podataka iz više tabela, filtriranje po različitim parametrima i optimizaciju performansi.

Na primer, u Node.js, koristeći biblioteku knex, možete napraviti upit sa više join-ova i uslova:

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);

Ovaj tip upita omogućava dobijanje porudžbina sa statusom "completed", gde je iznos plaćanja veći od 100, kombinujući podatke iz tabela porudžbina, kupaca i plaćanja.

U realnim projektima je važno pratiti performanse takvih upita i, ako je potrebno, ih optimizovati pomoću indeksa i analize plana izvršenja.