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/Jadvallarni ulash

LEFT JOIN va juftsiz qatorlar

128 daq

INNER JOIN jufti yo‘q qatorlarni jimgina tashlab yuboradi. Lekin ko‘pincha aynan shular qiziq: «hech qachon buyurtma bermagan mijozlar», «kuratori yo‘q guruhlar», «hali baho olmagan talabalar».

LEFT JOIN

Chap jadvalning hamma qatorlari qoladi. O‘ng jadvalda jufti bo‘lmasa — o‘ng tomondagi ustunlar NULL bo‘lib chiqadi.

university· O‘zgartirib ko‘ring
SELECT g.name, t.last_name AS curator
FROM study_groups g
LEFT JOIN teachers t ON t.id = g.curator_id
ORDER BY t.last_name NULLS FIRST, g.name;

Kuratori yo‘q guruhlarda curator — NULL.

Juftsizlarni topish

Eng foydali usul: LEFT JOIN + WHERE o‘ng.id IS NULL.

shop· O‘zgartirib ko‘ring
SELECT c.first_name, c.last_name
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id
WHERE o.id IS NULL;

Bu — hech qachon buyurtma bermagan mijozlar.

RIGHT JOIN va FULL JOIN

  • RIGHT JOIN — LEFT JOIN ning ko‘zgudagi aksi: o‘ng jadval to‘liq qoladi. Odatda jadvallar o‘rnini almashtirib, LEFT JOIN yozish tushunarliroq.
  • FULL JOIN — ikkala tomonning ham juftsiz qatorlari qoladi.

PostgreSQL FULL OUTER JOIN ni qo‘llab-quvvatlaydi.

Ehtiyot bo‘ling: shart WHERE dami yoki ON dami?

LEFT JOIN da o‘ng jadval uchun shartni WHERE ga yozsangiz, juftsiz qatorlar (NULLlar) shartdan o‘tmaydi va LEFT JOIN oddiy JOIN ga aylanib qoladi. O‘ng jadval sharti ON ichida bo‘lishi kerak:

shop· O‘zgartirib ko‘ring
SELECT c.first_name, COUNT(o.id) AS cancelled
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id AND o.status = 'cancelled'
GROUP BY c.id, c.first_name
ORDER BY cancelled DESC
LIMIT 5;

COUNT(o.id) — NULL larni sanamaydi, shuning uchun bekor qilingan buyurtmasi yo‘q mijozda 0 chiqadi.

1Mashq

Hech qanday sharh (reviews) yozilmagan mahsulotlarning nomini chiqaring.


2Mashq

Har bir fakultet nomini va undagi ustozlar sonini chiqaring. Ustozi yo‘q fakultet bo‘lsa, unda 0 chiqsin.


Esda qoldiring

  • LEFT JOIN — chap jadval to‘liq qoladi, jufti yo‘qlarda o‘ng tomon NULL.
  • Juftsizlar: LEFT JOIN … WHERE o‘ng.id IS NULL.
  • O‘ng jadval sharti — ON ichida, aks holda LEFT JOIN ishlamay qoladi.
Oldingi darsINNER JOINKeyingi darsBir nechta jadval va self join

Mundarija

  • LEFT JOIN
  • Juftsizlarni topish
  • RIGHT JOIN va FULL JOIN
  • Ehtiyot bo‘ling: shart WHERE dami yoki ON dami?
  • Esda qoldiring
O‘rganishMashqMasalalarArenaReyting

SQLab