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

INNER JOIN

119 daq

JOIN ikki jadvalni kalitlari bo‘yicha birlashtiradi. Bu SQL’ning eng kuchli va eng ko‘p ishlatiladigan imkoniyatlaridan biri.

Qolip

SELECT …
FROM jadval_a
JOIN jadval_b ON jadval_a.kalit = jadval_b.kalit;

ON dan keyin — qaysi qatorlar bir-biriga mos kelishi sharti. Odatda bu «tashqi kalit = birlamchi kalit».

Birinchi JOIN

Guruh nomi yonida fakultet nomi:

university· O‘zgartirib ko‘ring
SELECT study_groups.name, faculties.name
FROM study_groups
JOIN faculties ON study_groups.faculty_id = faculties.id;

Ikkala jadvalda ham name ustuni bor, shuning uchun qaysi jadvalniki ekanini yozish shart: study_groups.name.

Taxalluslar — qisqaroq yozish

university· O‘zgartirib ko‘ring
SELECT g.name AS group_name, f.name AS faculty
FROM study_groups g
JOIN faculties f ON g.faculty_id = f.id
ORDER BY f.name, g.name;

study_groups g — jadvalga g deb qisqa nom berdik. Ko‘p jadvalli so‘rovlarda bu juda qulay.

JOIN + WHERE + GROUP BY

JOIN dan keyin hammasi odatdagidek ishlaydi: filtr, guruhlash, saralash.

university· O‘zgartirib ko‘ring
SELECT f.name AS faculty, COUNT(*) AS teachers
FROM teachers t
JOIN faculties f ON f.id = t.faculty_id
GROUP BY f.name
ORDER BY teachers DESC;

ON ni unutsangiz nima bo‘ladi?

Shartsiz ulashda har bir qator ikkinchi jadvalning har bir qatori bilan juftlashadi. 32 ta guruh × 6 ta fakultet = 192 ta ma’nosiz qator. Bu dekart ko‘paytmasi deyiladi va katta jadvallarda bazani «osib» qo‘yishi mumkin. Natijada juda ko‘p qator chiqsa — birinchi navbatda ON ni tekshiring.

INNER JOIN aslida nima?

JOIN = INNER JOIN. U faqat ikkala jadvalda ham jufti bor qatorlarni qaytaradi. Masalan, kuratori yo‘q guruh teachers bilan ulanganda natijaga tushmaydi. Juftsiz qatorlar ham kerak bo‘lsa — LEFT JOIN (keyingi dars).

1Mashq

Har bir talabaning first_name ustunini va guruhining nomini chiqaring (study_groups.name).


2Mashq

Har bir mahsulotning nomini va toifasining nomini chiqaring (products.name, categories.name).


3Mashq

Har bir toifada nechta mahsulot bor? Toifa nomi va soni.


Esda qoldiring

  • JOIN … ON a.fk = b.id — ikki jadvalni kalit bo‘yicha ulaydi.
  • Bir xil nomli ustunlarda jadval nomini yoki taxallusni yozing.
  • Juda ko‘p qator chiqsa — ON sharti yetishmayapti.
Oldingi darsKalitlar va bog‘lanishlarKeyingi darsLEFT JOIN va juftsiz qatorlar

Mundarija

  • Qolip
  • Birinchi JOIN
  • Taxalluslar — qisqaroq yozish
  • JOIN + WHERE + GROUP BY
  • ON ni unutsangiz nima bo‘ladi?
  • INNER JOIN aslida nima?
  • Esda qoldiring
O‘rganishMashqMasalalarArenaReyting

SQLab