Junior — Middle
Създавали ли сте сложни SQL заявки с множество условия и join-ове?
sobes.tech AI
Отговор от AI
Да, в практиката ми съм създавал сложни SQL заявки с много условия и join-ове. Тези заявки често се използват за получаване на агрегирани данни от няколко таблици, филтриране по различни параметри и оптимизиране на изпълнението.
Например, в Node.js, с помощта на библиотеката knex, може да се създаде заявка с няколко join-а и условия:
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);
Този тип заявка позволява да се получат поръчки със статус "completed", където сумата на плащането е по-голяма от 100, като се обединяват данни от таблиците за поръчки, клиенти и плащания.
В реални проекти е важно да се следи производителността на такива заявки и при необходимост да се оптимизират с помощта на индекси и анализ на плана за изпълнение.