Muhammad al-xorazmiiy nomidagi toshkent axborot texnologiyalari universiteti

MUHAMMAD Al-XORAZMIIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
MALUMOTLAR BAZASI
2 Amaliy ishi
Bajardi: Qodirov Omirbek
Mavzu: Ma’lumotlarni tanlash va ular ustida amallar, AND, OR, NOT mantiqiy standart so’zlardan foydalanish. Ma’lumotlarni saralash, WHERE standart so’zidan foydalanish, Group by va Order by standart so’zlaridan foydalanib so’rov yaratish, HAVING standart so’zi orqali so’rovlar yaratish
AND, OR, NOT, IN, BETWEEN, LIKE, WHERE, HAVING, , Group by va Order by operatorlaridan foydalanib, har bir operatorga 2 tadan misol keltiring.
Nazariy qisim
1. **WHERE:** Bu operator, ma'lumotlar bazasidan ma'lumotlar tanlash uchun ishlatiladi. WHERE operatori orqali, ma'lumotlar bazasidan faqat shartlarga mos keladigan ma'lumotlarni tanlash mumkin.
2. **AND, OR, NOT:** Bu mantiqiy operatorlar, WHERE operatoridan keyin kelgan shartlarni birlashtirish uchun ishlatiladi. AND operatori, barcha shartlar qanoatlansa, OR operatori, birorta shart qanoatlansa yoki NOT operatori, berilgan shartni inkor qilish uchun foydalaniladi.
3. **BETWEEN:** Bu operator orqali, ma'lum bir oraliqda bo'lgan qiymatlarni tanlash mumkin. Misol uchun, yosh BETWEEN 20 AND 30, yosh 20 dan 30 gacha bo'lgan talabalarni tanlaydi.
4. **IN:** Bu operator orqali, ma'lum bir ro'yxat yoki joylashuvda bo'lgan ma'lumotlarni tanlash mumkin. Misol uchun, fakultet IN ('Informatika', 'Matematika') fakulteti Informatika yoki Matematika bo'lgan talabalarni tanlaydi.
5. **GROUP BY:** Bu operator, SELECT so'rovi orqali ma'lumotlar bazasidan ma'lumotlarni tanlaganda, ularni belgilangan ustunlar bo'yicha guruhlash uchun foydalaniladi. Bu operator orqali, aggregatsiya funksiyalari (COUNT, SUM, AVG, MAX, MIN) bilan guruhlangan ma'lumotlarni hisoblash mumkin.
6. **ORDER BY:** Bu operator orqali, guruhlangan ma'lumotlarni belgilangan ustun bo'yicha tartiblash mumkin. Misol uchun, ORDER BY yosh DESC, talabalarni yosh bo'yicha teskari tartibda chiqaradi.
7. **HAVING:** Bu operator, GROUP BY operatori orqali guruhlangan ma'lumotlarni hisoblashdan so'ng, hisoblangan ma'lumotlarga shart qo'yish uchun ishlatiladi. Misol uchun, HAVING COUNT(*) > 10, guruhdagi talabalar soni 10 dan ko'p bo'lgan guruhlarni tanlashda ishlatiladi.
Nazariya qismida, bu operatorlarni tushuntirib, ularni amaliyotda qanday foydalanish kerakligini tushunish uchun ba'zi amaliy misollar keltiriladi. Ushbu misollar orqali, har bir operator va standart so'zni qanday ishlatish kerakligini o'rganishingiz mumkin.
Mysqlni ishga tushirish va undagi My_Bank bazasiga kirish;
MBdagi jadvallarni ko’rish;
Bulimlar jadvalidagi hodimlarni ko’rish.
AND shart operatoridan foydalanib, lavozimi=”boshliq” and manzili=”Namangan Uychi” bo’lgan chiqarish
Huddi shu amalni endi “OR” dan foydalanib qilinishi. “OR”da kamida 1 shart to’g’ri bo’lsa yetarli.
NOT amalidan foydalanib “fuqaro” bo’lmaganlarni chiqarish. Bu yerda hech qanday atribut chiqmaydi. Chunki mening bazamdagi mijozlarning barchasi fuqarolar.
ORDER BY maosh asc; bu yeda maosh bo’yicha saralash(O’sish tartibida)
Endi esa DESC dan foydalanib kamayish tartibida saralash.
Group by, cout(*) dan foydalanib bir xil atributlarning sonini chiqarish;
Huddi shu amalni lavozimlar bo’yicha qilinishi. Bu yerda lavozimlarda 2 degan natija chiqadi. Chunki, bu lavozimlarda 2 tadan odamlar ishlaydi.
HAVING ID>3000000; bu yerda ID biz bergan IDdan katta bo’lgan odamlarni chiqarib beradi.
“IN” dan foydalanib hodimlar jadvalida “qo’riqchi” va “farrosh” larni chiqarish.
Bu yerda “Where” dan foydalanib manzili=”Namangan Uychi” bo’lgan shaxslarni chiqarish.
Bu yerda “LIKE” dan foydalanib, farrosh lavozimidagilarni chiqarish.
AVG(ID) dan foydalanib, hodimlar jadvalidagi ID larning o’rtachasini chiqarish.
SUM(maosh)dan foydalanib maoshlarni yig’indisini chiqarish.
use test;
CREATE TABLE student_t (
id INT PRIMARY KEY AUTO_INCREMENT,
ism VARCHAR(50),
yosh INT,
fakultet VARCHAR(50)
);
INSERT INTO student_t (ism, yosh, fakultet) VALUES
('Ali', 22, 'Informatika'),
('Nargiza', 21, 'Matematika'),
('Bekzod', 23, 'Fizika'),
('Dilorom', 20, 'Kimyo');
select * from student_t;
SELECT * FROM student_t WHERE yosh > 21;
SELECT * FROM student_t WHERE yosh > 22;
SELECT * FROM student_t WHERE fakultet IN ('Informatika', 'Fizika');
SELECT * FROM student_t WHERE yosh BETWEEN 20 AND 22;
SELECT * FROM student_t WHERE ism LIKE 'A%';
SELECT * FROM student_t WHERE yosh > 20 AND fakultet = 'Informatika';
SELECT * FROM student_t WHERE yosh < 22 OR fakultet = 'Fizika';
SELECT * FROM student_t WHERE fakultet NOT IN ('Kimyo', 'Matematika');
SELECT fakultet, COUNT(*) as sanasi FROM student_T GROUP BY fakultet HAVING sanasi > 1;
|