Sobes.tech
Junior — Middle

Çok sayıda koşul ve join içeren karmaşık SQL sorguları oluşturdunuz mu?

sobes.tech yapay zeka

AI'dan gelen yanıt

Evet, pratiklerimde çok sayıda koşul ve join içeren karmaşık SQL sorguları oluşturdum. Bu tür sorgular genellikle birkaç tablodan toplanmış verileri almak, farklı parametrelere göre filtrelemek ve sorgu performansını optimize etmek için kullanılır.

Örneğin, Node.js'te knex kütüphanesini kullanarak birkaç join ve koşul içeren bir sorgu oluşturabilirsiniz:

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

Bu sorgu, "completed" durumundaki ve ödeme tutarı 100'den büyük olan siparişleri, siparişler, müşteriler ve ödemeler tablolarından gelen verileri birleştirerek almanıza olanak tanır.

Gerçek projelerde, bu tür sorguların performansını izlemek ve gerekirse indeksler ve yürütme planı analizi kullanarak optimize etmek önemlidir.