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/Murakkab so‘rovlar

Ichki so‘rovlar

1410 daq

Ichki so‘rov (subquery) — boshqa so‘rov ichiga qavs bilan yozilgan so‘rov. U avval bajariladi va natijasini tashqi so‘rovga beradi.

Bitta qiymat qaytaradigan ichki so‘rov

«O‘rtachadan yuqori maosh oladigan ustozlar» — o‘rtachani oldindan bilmaymiz, lekin baza hisoblab bera oladi:

university· O‘zgartirib ko‘ring
SELECT first_name, last_name, salary
FROM teachers
WHERE salary > (SELECT AVG(salary) FROM teachers)
ORDER BY salary DESC;

Ichki so‘rov bitta son qaytaradi, tashqi so‘rov u bilan solishtiradi.

Ro‘yxat qaytaradigan ichki so‘rov: IN

«Kamida bitta 95+ baho olgan talabalar»:

university· O‘zgartirib ko‘ring
SELECT first_name, last_name
FROM students
WHERE id IN (SELECT student_id FROM grades WHERE score >= 95);

Ichki so‘rov bir nechta qator qaytarsa, = emas, IN ishlating. = bilan baza «subquery returns more than one row» xatosini beradi.

EXISTS — «bormi?»

EXISTS ichki so‘rov kamida bitta qator qaytarsa, to‘g‘ri bo‘ladi. Ko‘pincha tashqi qatorga bog‘lanadi:

shop· O‘zgartirib ko‘ring
SELECT p.name
FROM products p
WHERE NOT EXISTS (SELECT 1 FROM order_items oi WHERE oi.product_id = p.id);

Hech qachon sotilmagan mahsulotlar. SELECT 1 — ichida nima qaytishi muhim emas, faqat bor-yo‘qligi.

Bog‘langan (correlated) ichki so‘rov

Ichki so‘rov tashqi qatorning qiymatidan foydalanadi va har bir qator uchun qaytadan bajariladi. «O‘z toifasidagi o‘rtacha narxdan qimmat mahsulotlar»:

shop· O‘zgartirib ko‘ring
SELECT p.name, p.price
FROM products p
WHERE p.price > (SELECT AVG(x.price) FROM products x WHERE x.category_id = p.category_id);

FROM ichida ichki so‘rov

Natijani vaqtinchalik jadvaldek ishlatish mumkin. Unga albatta taxallus beriladi:

shop· O‘zgartirib ko‘ring
SELECT AVG(n) AS avg_orders
FROM (SELECT customer_id, COUNT(*) AS n FROM orders GROUP BY customer_id) t;
1Mashq

O‘rtacha kreditdan ko‘p kreditli fanlarning name va credits ustunlarini chiqaring.


2Mashq

Kamida bitta safar qilgan yo‘lovchilar nechta? IN yoki EXISTS dan foydalaning.


Esda qoldiring

  • Bitta qiymat — =, > bilan; ro‘yxat — IN bilan.
  • EXISTS / NOT EXISTS — bor-yo‘qligini tekshiradi.
  • FROM dagi ichki so‘rovga taxallus shart.
Oldingi darsBir nechta jadval va self joinKeyingi darsUNION, INTERSECT, EXCEPT

Mundarija

  • Bitta qiymat qaytaradigan ichki so‘rov
  • Ro‘yxat qaytaradigan ichki so‘rov: IN
  • EXISTS — «bormi?»
  • Bog‘langan (correlated) ichki so‘rov
  • FROM ichida ichki so‘rov
  • Esda qoldiring
O‘rganishMashqMasalalarArenaReyting

SQLab