Sobes.tech
Junior — Middle

Czy tworzyłeś skomplikowane zapytania SQL z wieloma warunkami i joinami?

sobes.tech AI

Odpowiedź od AI

Tak, w mojej praktyce tworzyłem skomplikowane zapytania SQL z wieloma warunkami i joinami. Takie zapytania są często używane do pobierania danych zagregowanych z kilku tabel, filtrowania po różnych parametrach i optymalizacji zapytań.

Na przykład, w Node.js, korzystając z biblioteki knex, można zbudować zapytanie z wieloma joinami i warunkami:

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

Taki zapytanie pozwala na pobranie zamówień ze statusem "completed", gdzie kwota płatności jest większa niż 100, łącząc dane z tabel zamówień, klientów i płatności.

W rzeczywistych projektach ważne jest monitorowanie wydajności takich zapytań i, jeśli to konieczne, ich optymalizacja za pomocą indeksów i analizy planu wykonania.