Junior — Middle
Vai esat izveidojis sarežģītas SQL vaicājumus ar daudzām nosacījumiem un joiniem?
sobes.tech AI
Atbilde no AI
Jā, manā praksē esmu veidojis sarežģītas SQL vaicājumus ar daudzām nosacījumiem un joiniem. Šādi vaicājumi bieži tiek izmantoti, lai iegūtu apkopotus datus no vairākām tabulām, filtrētu pēc dažādiem parametriem un optimizētu vaicājumu izpildi.
Piemēram, Node.js vidē, izmantojot knex bibliotēku, ir iespējams veidot vaicājumu ar vairākām join un nosacījumiem:
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);
Šis vaicājums ļauj iegūt pasūtījumus ar statusu "completed", kur maksājuma summa ir lielāka par 100, apvienojot datus no pasūtījumu, klientu un maksājumu tabulām.
Reālos projektos ir svarīgi uzraudzīt šādu vaicājumu veiktspēju un, ja nepieciešams, tos optimizēt, izmantojot indeksus un izpildes plāna analīzi.