5-Lobaratoriya ishi Mavzu: sql funksiyalaridan foydalanib so‘rovlar yaratish. Hamda join dan foyalanib jadvallarni birlashtirish


Download 0.54 Mb.
Sana24.12.2022
Hajmi0.54 Mb.
#1056655
Bog'liq
Xoliqov Sardor 5-lobaratoriya ishi




5-Lobaratoriya ishi
Mavzu: SQL funksiyalaridan foydalanib so‘rovlar yaratish. Hamda JOIN dan foyalanib jadvallarni birlashtirish.
Ishdan maqsad: SQL tili standart va agregat funksiyalardan foydalanib so‘rovlar yaratish bo‘yicha bilim va ko‘nikmaga ega bo‘lish.
Qo‘yilgan masala: Yaratilgan jadvallar ustida SQL standart va agregat funksiyalaridan foydalanib so‘rovlar yaratish. Hamda JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN) dan foyalanib jadvallarni birlashtirish.


Ishtartibi:

  • Laboratoriyaishinazariyma’lumotlarinio‘rganish;

  • Oracledamavzubo‘yichayaratilganjadvallar;

  • Natijalarnitekshirish;

  • Hisobotnitayyorlashvatopshirish.



Nazariy qism
Agregat funksiyalar qo‘llanishi
Agregat (yoki STATIK) funksiyalar, sonli yoki xisoblanuvchi ustunlar Bilan ishlaydi. Agregat funksiya argumenti butun ustun bo‘lib, bita qiymat qaytaradi.
Bu funksiyalarni ko‘rib chiqamiz:
SUM() – Ustundagi xamma qiymatlar summasini xisoblaydi.
AVG() – Ustundagi xamma qiymatlar o‘rtasi qiymatini xisoblaydi.
MIN() – Ustundagi xamma qiymatlar eng kichigini aniqlaydi.
MAX() – Ustundagi xamma qiymatlar eng kattasini aniqlaydi.
COUNT() – Ustundagi qiymatlar sonini xisoblaydi.
COUNT(*) – So‘rov natijalari jadvalidagi satrlar sonini xisoblaydi.
COUNT() — jadvaldagi yozuvlar (qatorlar) sonini qaytaradigan funksiya. Ustun ko‘rsatuvchi funktsiyani yozish, NULL yozuvlar bundan mustasno, ma'lum bir ustun uchun yozuvlar sonini qaytaradi. Funktsiya sintaksisi:
COUNT(column_name);
Funktsiyani "*" niqobi bilan yozib olish, jadvaldagi barcha yozuvlar sonini qaytaradi. Sintaksis:COUNT(*);
JOINIkki yoki undan ortiq jadvallar qatorlarini ular orasidagi tegishli ustun asosida birlashtirish uchun band ishlatiladi .
INNER JOIN Keyin ikkala jadvalda mos qiymatlarga ega bo'lgan yozuvlarni tanlaydigan quyidagi SQL bayonotini (o'z ichiga olgan) yaratishimiz mumkin :
Misol
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

Quyidakengtarqalganishlatiladigan SQL agregatfunksiyalarikeltirilgan:



  • AVG()– toʻplamningoʻrtachaqiymatiniqaytaradi.

  • COUNT()– to‘plamdagielementlarsoniniqaytaradi.

  • MAX()– to‘plamdagimaksimalqiymatniqaytaradi.

  • MIN()- to'plamdagiminimalqiymatniqaytaradi

  • SUM()– to‘plamdagibarchayokialohidaqiymatlaryig‘indisiniqaytaradi

Bu yerda SQLdagi JOINlarning turli xil turlari mavjud:

  • (INNER) JOIN: Ikkala jadvalda mos qiymatlarga ega yozuvlarni qaytaradi

  • LEFT (OUTER) JOIN: Chapdagi jadvaldagi barcha yozuvlarni va o'ngdagi jadvaldagi mos yozuvlarni qaytaradi

  • RIGHT (OUTER) JOIN: O'ng jadvaldagi barcha yozuvlarni va chap jadvaldagi mos yozuvlarni qaytaradi

  • FULL (OUTER) JOIN: Chap yoki o'ng jadvalda mos keladigan barcha yozuvlarni qaytaradi 

Misollar
SELECT Dorixona.ID_Dori, Dorixona2.Nomi, Dorixona.Soni
FROM Dorixona
INNER JOIN Dorixona2 ON Dorixona.Narxi=Dorixona2.Narxi;



Standart funksiyalardan foydalanib so`rovlar yaratish
Odatda ko’pincha jadval qiymatlari o’rtasida arifmetik amallar bajarish kerak bo’ladi. Misol uchun jadvalning qaysidir ustu qiymatlari ustida arifmetik amallar bajarish kerak bo’ladi. Bu amallarni bajarish uchun oldingi darslarda yaratgan jadvalimizga stiprndiya deb nomlangan ustun qo’shamiz va uni qiymatlar bilan to’ldirib chiqamiz.


ABS(x) funksiyasi.Bunda belgilangan ustun qiymatlarining modulini hisoblab beradi.
Select fish, abs(stipendiyasi) from talaba5
Natija:

Cbrt bu belgilangan ustun qiymatlarining 3-darajali ildizini hisoblab beradi.
select fish, cbrt(stipendiyasi) from talaba5

Argumentdan katta yoki teng eng yaqin butun son
select fish, ceil(stipendiyasi) from talaba5

select fish, ceiling(stipendiyasi) from talaba5

Radiandan gradusga o’tkazish


Bir ustun qiymatini ikkinchi ustun qiymatiga bo’lgandagi butun son
select fish, div(stipendiyasi,id) from talaba5

Create table hisobot (id integer, maxsulot_nomi char(20), sales integer, quota integer)

Agregatlash argumenti bo‘lib ustun nomidan tashqari ixtiyoriy matematik ifoda xizmat qilishi mumkin. Misol uchun quyidagi so‘rovda: Sizni kompaniyangizda reja bajarilishi o‘rtacha protsenti qancha?
SELECT AVG(100 * (SALES/QUOTA)) FROM hisobot

AVG() agregatlash funksiyasiga yana bir necha sodda misollarni ko‘ramiz. Masalan: ishlab chiqaruvchi mollari o‘rtacha sonini hisoblang.
SELECT avg(QUOTA), avg(SALES) FROM hisobot

Download 0.54 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling