6-modul · 4-dars: SELECT · Filtering

Daraja: O'rta

SELECT · Filtering. PostgreSQL bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi SELECT · Filtering tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya SELECT qaysi ustunlar chiqishini, WHERE qaysi qatorlar qolishini belgilaydi. AS natija ustuniga tushunarli alias beradi; shu SELECTning WHERE qismida alias odatda hali mavjud emas. ORDER BYsiz natija tartibiga kafolat yo'q. Paginationda teng qiymatlar uchun ikkinchi noyob kalit bilan barqaror tartib qo'shing. DISTINCT tanlangan ustunlar kombinatsiyasidagi takrorlarni olib tashlaydi; bu noto'g'ri JOINni yashirish uchun vosita emas. BETWEEN ikkala chegarani ham qamrab oladi. Vaqt oralig'ida ko'pincha >= boshlanish AND < keyingi_chegara aniqroq. LIKEda % istalgan davomni, _ bitta belgini anglatadi; ILIKE katta-kichik harfga sezgir bo'lmagan moslash beradi. EXISTS subquery kamida bitta qator qaytarishini tekshiradi; ANY kamida bitta taqqoslash, ALL esa hammasi uchun tekshiradi. NULL uch qiymatli mantiq keltiradi: NULL = NULL TRUE emas, IS NULL ishlatiladi. NOT IN ichidagi NULL kutilmagan natija berishi mumkin; mos holatda NOT EXISTSni tanlang.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/6-module%28database%29.md) [Rasmiy qo‘llanma](https://www.postgresql.org/docs/current/)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

SELECT n AS son FROM generate_series(1, 10) AS n
WHERE n BETWEEN 3 AND 7
ORDER BY n DESC;
SELECT 3 = ANY(ARRAY[1,3,5]) AS mavjud;

Keng tarqalgan xatolar

Mashqlar

Teglar: modul-06, pdp, nazariya

Interaktiv ko'rinish (viktorina, izohlar, tarix)