Sobes.tech
Junior — Middle

SQL sorğuları icra edilərkən şərti məlumat filtrləməsini necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

SQL sorğularında şərtli məlumat filtrləməsini həyata keçirmək üçün, icra zamanı təyin oluna bilən və ya atlanabilən şərtlərə əsasən dinamik sorğu qurmaq mümkündür.

C# dilində bu adətən aşağıdakı yollarla edilir:

  • Şərtlərin yoxlanması ilə sətirlərin birləşdirilməsi (SQL inyeksiyası riski səbəbindən tövsiyə edilmir).
  • Şərti parametrlərlə parametrli sorğuların istifadəsi.
  • ORM istifadə edərək, məsələn, Entity Framework, burada LINQ istifadə edərək sorğular qurmaq və lazım olduqda şərtləri əlavə etmək.

LINQ nümunəsi:

var query = context.Users.AsQueryable();

if (!string.IsNullOrEmpty(nameFilter)) {
    query = query.Where(u => u.Name.Contains(nameFilter));
}

if (ageFilter.HasValue) {
    query = query.Where(u => u.Age == ageFilter.Value);
}

var result = query.ToList();

Bu yanaşma kodu təkrarlamadan və səhv riskini azaltmadan filtrləri elastik şəkildə əlavə etməyə imkan verir.