|
33-dars Mavzu: Ma’lumotlarni tanlash bo’yicha so’rovlarda guruhlash uchun group by bandidan foydalanish
|
Sana | 23.03.2024 | Hajmi | 99.69 Kb. | | #175501 |
Bog'liq SQL 4- mavzu Sharq va G’arb falsafasida inson masalasi, masofaviy-talim-mazmuni-imkoniyatlari-va-kamchiliklari
33-dars
Mavzu: Ma’lumotlarni tanlash bo’yicha so’rovlarda guruhlash uchun GROUP BY bandidan foydalanish
SQL nima?
SQL (Structure Query Language) - strukturalashgan so'rov tili bo'lib, relyatsion ma'lumotlar bazasida ma'lumotlarni saqlash va qayta ishlash uchun mo'ljallangan dasturlash tili hisoblanadi. Relyatsion ma'lumotlar bazasi ma'lumotlarni jadval ko'rinishida saqlaydi, jadvalning ustun va qatorlari ma'lumotlarning turlarini va qiymatlari orasidagi aloqalarni ifodalaydi. SQL ifodalari orqali siz ma'lumotlarni saqlashingiz, qayta ishlashingiz, o'chirishingiz, qidirishingiz va filtrlab olishingiz mumkin. Shuningdek SQL ma'lumotlar bazasini tez va sifatli ishlashini ta'minlay oladi.
SQL nima uchun muhim?
SQL barcha turdagi dasturlarda eng ko'p ishlatiladigan mashhur so'rovlar tili hisoblanadi. Ma'lumot tahlilchilari va dasturchilar SQL-ni o'rganadilar va undan foydalanishadi, chunki u turli dasturlash tillari bilan yaxshi mos keladi. Masalan, Java dasturchilari yuqori samarali ma'lumotlar tahlili uchun Oracle yoki MS SQL serveri kabi SQL ma'lumotlar bazasini boshqarish tizimlaridan foydalanishadi. Shuningdek, SQL o'z kalit so'zlari sifatida ingliz tilidagi so'zlardan foydalanadi, shuning uchun uni o'rganish bir muncha oson hisoblanadi.
Tarixi
SQL 1970-yillarda IBM tomonidan relyatsion ma'lumotlar modeli asosida yaratilgan va u dastlab SEQUEL (Structured English Query Language) deb nomlangan. Oracle kompaniyasi (avvalgi Relational Software) birinchi bo'lib o'zining relyatsion ma'lumotlar bazasi tizimini sotuvga chiqardi.
Relyatsion ma’lumotlar bazasini boshqarish tizimlari
Relyatsion ma’lumotlar bazasini boshqarish tizimlari (RDBMS) – relyatsion ma’lumotlarni saqlash uchun mo’ljallangan dastur bo’lib, asosan SQL so’rovlari asosida ishlaydi. Bugungi kunda eng keng tarqalgan relyatsion ma’lumotlar bazasini boshqarish tizimlari bular, MySQL, Oracle, PostgreSQL, MS SQL, IBM DB2.
Ma'lumotlar bazasi elementlari
Ma’lumotlar bazasi bir yoki bir nechta jadvallardan iborat bo’ladi. Jadval – bu ma’lumotni qator va ustunlar yordamida saqlaydigan bog’langan ma’lumotlar to’plami. Qator – bu jadvaldagi har bir ma’lumot. Ustun – bu jadvaldagi qatorlar haqida ma’lumot beruvchi xususiyat. Har bir jadval takrorlanmas nomga ega va biror haqiqiy obyektni anglatadi. Masalan: joy, shaxs, hayvon va hokazo.
Ko’p ishlatiladigan SQL kalit so’zlari quyidagilar:
SELECT – ma’lumot bazasidan ma’lumot olish
UPDATE – ma’lumot bazasidagi ma’lumotni yangilash, tahrirlash
DELETE - ma’lumot bazasidagi ma’lumotni o’chirish
INSERT INTO – ma’lumotlar bazasiga ma’lumot qo’shish
CREATE DATABASE – ma’lumotlar bazasi yaratish
ALTER DATABASE - ma’lumot bazasini o’zgartirish
CREATE TABLE – jadval qo’shish
ALTER TABLE – jadvalni o’zgartirish
DROP TABLE – jadvalni o’chirish
CREATE INDEX – indeks yaratish
DROP INDEX – indeksni o’chirish
SQL so’roviga misol: SELECT * FROM Xaridorlar;
Yuqoridagi so’rov Xaridorlar jadvalidagi barcha qatorlarni olib beradi.
Eslatma: SQL kalit so’zlarini xohlagan shaklda yozish mumkin: ya’ni katta yoki kichik harflarni farqlamaydi: SELECT, select, Select...
Eslatma: Ba’zi ma’lumotlar bazasini boshqarish tizimlari har bir SQL so’rovi oxirida nuqtali-vergul (;) qo’yishni talab qiladi.
SQL tilida qatorlarni biror shart (masalan, bir xil qiymat) bo'yicha guruhlash uchun GROUP BY kalit so'zidan foydalaniladi. GROUP BY odatda aggregat funksiyalar (COUNT(), MAX(), MIN(), SUM(), AVG()) bilan ishlatiladi.
Sintaksisi quyidagicha:
SELECT ustun_nom(lar)i FROM jadval_nomi WHERE shartli_ifoda
GROUP BY ustun_nom(lar)i ORDER BY ustun_nom(lar)i;
Quyidagi Xaridorlar jadvalaridan har bir websayt bo'yicha nechta xaridor borligini hisoblaydigan so'rovni GROUP BY va COUNT kalit so'zlari yordamida yozamiz va natijani ko'ramiz:
GROUP BY kalit so'zi ishlatilgan so'rovlarda aggregat funksiyalarga WHERE kalit so'zi bilan shart berib bo'lmaydi.
|
| |