SQLab
O‘rganishMashqMasalalarArenaReyting
© 2026 SQLab · Toshkent
SQLab

SQL’ni o‘rnatmasdan, brauzerning o‘zida o‘rganing.

Platforma

  • O‘rganish
  • Mashq
  • Masalalar
  • Arena
  • Reyting

Kimlar uchun

  • Talabalar
  • Ustozlar
  • Universitetlar
© 2026 SQLab. Barcha huquqlar himoyalangan.O‘zbekistonda, talabalar uchun yaratilgan.
O‘rganishMashqMasalalarArenaReyting
0/26

Asoslar

  • Ma’lumotlar bazasi nima?
  • Birinchi SELECT
  • WHERE: kerakli qatorlarni tanlash
  • IN, BETWEEN, LIKE va NULL
  • Saralash, LIMIT va DISTINCT

Hisob-kitob

  • Ifodalar, funksiyalar va CASE
  • Sanalar bilan ishlash
  • COUNT, SUM, AVG, MIN, MAX
  • GROUP BY va HAVING

Jadvallarni ulash

  • Kalitlar va bog‘lanishlar
  • INNER JOIN
  • LEFT JOIN va juftsiz qatorlar
  • Bir nechta jadval va self join

Murakkab so‘rovlar

  • Ichki so‘rovlar
  • UNION, INTERSECT, EXCEPT
  • WITH: nomlangan so‘rovlar
  • Oyna funksiyalari

Jadval yaratish va o‘zgartirish

  • CREATE TABLE: turlar va cheklovlar
  • INSERT, UPDATE, DELETE
  • ALTER, DROP, TRUNCATE
  • Bazani to‘g‘ri loyihalash

Professional daraja

  • Indekslar va EXPLAIN
  • Tranzaksiyalar va ACID
  • VIEW: saqlangan so‘rovlar
  • Funksiyalar, protseduralar, triggerlar
  • Foydalanuvchilar, huquqlar, zaxira nusxa
O‘rganish/Professional daraja

VIEW: saqlangan so‘rovlar

246 daq

Bir murakkab so‘rovni har safar qayta yozish noqulay. VIEW (ko‘rinish) — saqlab qo‘yilgan so‘rov: unga jadval kabi murojaat qilinadi, lekin o‘zida ma’lumot saqlamaydi.

Yaratish

CREATE VIEW student_cards AS
SELECT s.id, s.first_name, s.last_name, g.name AS group_name, f.name AS faculty
FROM students s
JOIN study_groups g ON g.id = s.group_id
JOIN faculties f ON f.id = g.faculty_id;

Endi xuddi jadvaldek:

SELECT * FROM student_cards WHERE faculty = 'Kiberxavfsizlik';

Har safar murojaat qilinganda ichidagi so‘rov qaytadan bajariladi — shuning uchun natija doim yangi.

Nima uchun kerak

  • soddalik — murakkab JOIN’lar bir marta yoziladi;
  • xavfsizlik — foydalanuvchiga butun jadval emas, faqat VIEW ochiladi (masalan, maosh ustunisiz);
  • barqarorlik — jadvallar tuzilishi o‘zgarsa ham, VIEW ni moslab qo‘ysangiz, dasturlar avvalgidek ishlayveradi.

O‘zgartirish va o‘chirish

CREATE OR REPLACE VIEW student_cards AS SELECT …;
DROP VIEW student_cards;

Ko‘rinish orqali ma’lumot o‘zgartirish

Oddiy VIEW (bitta jadval, guruhlash yo‘q) orqali UPDATE ham qilsa bo‘ladi — o‘zgarish asl jadvalga yoziladi. JOIN, GROUP BY, DISTINCT bor VIEW’lar odatda faqat o‘qish uchun.

Materiallashgan ko‘rinish

PostgreSQL’da MATERIALIZED VIEW natijani saqlab qo‘yadi — juda og‘ir hisobotlar uchun:

CREATE MATERIALIZED VIEW monthly_revenue AS
SELECT date_trunc('month', ordered_at) AS month, count(*) FROM orders GROUP BY 1;

REFRESH MATERIALIZED VIEW monthly_revenue;   -- yangilash

O‘qish tez, lekin natija REFRESH qilinmaguncha eskiligicha qoladi.

Mashq

Erkin rejimda tayyor dorixona bazasini yuklang va «har bir sotuv: mijoz ismi, dori nomi, summa» ko‘rinishini yarating, keyin undan SELECT qiling.

Esda qoldiring

  • VIEW — nomlangan saqlangan so‘rov, ma’lumot saqlamaydi.
  • Murakkab so‘rovlarni soddalashtiradi va keraksiz ustunlarni yashiradi.
  • Materiallashgan VIEW (PostgreSQL) — natijani saqlaydi, REFRESH bilan yangilanadi.
Oldingi darsTranzaksiyalar va ACIDKeyingi darsFunksiyalar, protseduralar, triggerlar

Mundarija

  • Yaratish
  • Nima uchun kerak
  • O‘zgartirish va o‘chirish
  • Ko‘rinish orqali ma’lumot o‘zgartirish
  • Materiallashgan ko‘rinish
  • Mashq
  • Esda qoldiring
O‘rganishMashqMasalalarArenaReyting

SQLab