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.