|
Mavzu: sql topshiriqlar
|
bet | 2/4 | Sana | 12.01.2024 | Hajmi | 2,98 Mb. | | #136037 |
Hammasi bitta jadvalda:
2- topshiriq: Group by va Order by standart so’zlaridan foydalanib so’rov yaratish.
Ishdan maqsad: Ushbu amaliy ishda SQL tili SELECT operatori orqali ishlatiladigan Group by, Order by va Having standart so‘zlaridan foydalanish bo‘yicha bilim va ko‘nikmaga ega bo‘lish.
Ish tartibi:
Amaliy ishning nazariy ma’lumotlarini o‘rganish;
Oracleda mavzu bo’yicha yaratilgan jadvallar;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
ORDER BY kalit so'zi natijalar to'plamini o'sish yoki kamayish tartibida saralash uchun ishlatiladi.
ORDER BY kalit so'zi sukut bo'yicha yozuvlarni o'sish tartibida tartiblaydi. Yozuvlarni kamayish tartibida saralash uchun DESC kalit so'zidan foydalaning.
ORDER BY sintaksisi:
SELECT column1, column2, ...
FROM jadval_nomi
ORDER BY column1, column2, ... ASC|DESC;
Misol. Quyida Northwind namunaviy ma'lumotlar bazasidagi "Mijozlar" jadvalidan tanlanganlar keltirilgan:
Custo
mer ID
|
Customer
Name
|
Contact Name
|
Address
|
City
|
Postal Code
|
Country
|
1
|
Alfreds Futterkiste
|
Maria Anders
|
Obere Str. 57
|
Berlin
|
12209
|
Germany
|
2
|
Ana Trujillo Emparedados y helados
|
Ana Trujillo
|
Avda. de la Constitución 2222
|
México D.F.
|
05021
|
Mexico
|
3
|
Antonio Moreno Taquería
|
Antonio Moreno
|
Mataderos 2312
|
México D.F.
|
05023
|
Mexico
|
4
|
Around the Horn
|
Thomas Hardy
|
120 Hanover Sq.
|
London
|
WA1 1DP
|
UK
|
Quyidagi SQL bayonoti "Mamlakat" ustuni bo'yicha tartiblangan "Mijozlar" jadvalidan barcha mijozlarni tanlaydi:
Misol:
SELECT * FROM Customers
ORDER BY Country;
Natija:
DESC bo'yicha buyurtma berish misoli
Quyidagi SQL bayonoti "Mijozlar" jadvalidan "Mamlakat" ustuni bo'yicha kamayish tartibida tartiblangan barcha mijozlarni tanlaydi:
Misol:
SELECT * FROM Customers
ORDER BY Country DESC;
Quyidagi SQL bayonoti "Mamlakat" va "Mijoz nomi" ustunlari bo'yicha tartiblangan "Mijozlar" jadvalidan barcha mijozlarni tanlaydi. Bu shuni anglatadiki, u mamlakat bo'yicha buyurtma beradi, lekin agar ba'zi qatorlar bir xil mamlakatga ega bo'lsa, ularni mijoz nomi bilan buyurtma qiladi:
Misol:
SELECT * FROM Customers
ORDER BY Country, CustomerName;
2-misol. ORDER BY bir nechta ustunlar bo‘yicha iahlatilishi. Quyidagi SQL bayonoti barcha mijozlarni "Mijozlar" jadvalidan tanlaydi, "Mamlakat" ustuni bo'yicha o'sish tartibida va "Mijoz nomi" ustuni bo'yicha kamayib boradi: Misol:
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;
GROUP BY - bu bir xil qiymatga ega boʻlgan qatorlarni “har bir mamlakatdagi mijozlar sonini toping” kabi umumiy qatorlarga guruhlaydi.
GROUP BY operatori koʻpincha bir yoki bir nechta ustunlar boʻyicha oʻrnatilgan natijani guruhlash uchun yigʻma funksiyalar (COUNT, MAX, MIN, SUM, AVG) bilan ishlatiladi.
GROUP BY sintaksisi:
SELECT atribut_nomi(s)
FROM jadval_nomi
WHERE shart
GROUP BY atribut_nomi(s)
ORDER BY atribut_nomi(s);
Misol. Quyidagi SQL bayonotida har bir mamlakatdagi mijozlar soni ko'rsatilgan:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;
Quyidagi SQL bayonotida har bir mamlakatdagi mijozlar soni yuqoridan pastgacha tartiblangan:
Misol:
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
Quyida Northwind namunaviy maʼlumotlar bazasidagi “Buyurtmalar” jadvalidan tanlanganlar keltirilgan:
|
| |