|
Zbek1ston respublikasi axborot
|
bet | 30/71 | Sana | 28.05.2024 | Hajmi | 24,2 Mb. | | #255852 |
Bog'liq Ma\'lumotlar bazasi. ZaynidinovX.N.Select ‘familiya’, surname, ‘im ya’, name, 100 From TALABA
‘familiya1
|
Surname
|
‘ism ’
|
name
|
100
|
familiya
|
Aliyev
|
ism
|
Qosim
|
100
|
familiya
|
Valiyev
|
ism
|
Sobir
|
100
|
Sonii m a’lumotlarni uzunlik o ‘zgartirish uchun atribut amallardan foydalanamiz. Bunda quyidagi amallar ishlatiladi:
Select surname, name, stipend, kurs, (stipend*kurs)/2 From talaba W here kurs ning 4 and stipend >0
surname
|
name
|
stipend
|
kurs
|
(stipend*kurs)/2
|
Aliyev
|
Qosim
|
150
|
4
|
-300
|
Valiyev
|
Sobir
|
200
|
4
|
-400
|
Satrlarni ulash amali yordami const 2 ta va undan ko ‘p simvolli ustun qiymatlari bitta satrga joylashtirib boriladi.
Select surname / / ’- ‘// name, stipend W eher kurs ning and stipend >0;
56
surname //’- 7 / name
|
|
stipend
|
Aliyev Qosim
|
150
|
|
Valiyev Sobir
|
200
|
|
SQLda almashtirish funksiyalari bilan ishlash
L,ower ()- berilgan satrni Icichik harflarga almashtirib beradi.
Upper- () - kichik lvarflarni kata harflarga almashtirib
beradi.
Init cap- ()- satrdagi bar bir siiznnlikni birinchi harfini bosh harf qilib beradi, Masalan, ularga quyidagi misolni kuramiz.
Select Lower(surname) Upper(name) from talaba W here kurs:=4;
Lower (surname) Upper(name)
aliyev QOSIM
valiyev SOBIR
LPAD (, uzimlikunlik, [< qism satr>) RPAD (,
, []).
Berilgan uzunlikunlikdagi qism satrni chapdan o'ngga joylashtiriladi.
Agar qism satr ko'rsatilmagan bo'lsa, satr sukut bilan, probellar
bilan to ‘ldiriladi. Agar uzunlik o ‘nli.k satr uzunlik o ‘nlikdan kerak bo‘lsa berilgan satr ko‘rsatilgan uzunlik o‘nlikgaeha qirqiladi.
L T R IM (), [ j);
Bu funksiyaiarni vazifasi mos ravishda chapdagi chegaraviy simvol olib tashlashdan iborat. Olib tashlangan simollar qism satrda ko'rsatiladi. Agar qism satr ishlamasa probellari olib tashlanadi.
Substr (, , []
Quyidagi funksiyalar satrdan berilgan joy dan boshlab berilgan sondagi simvollari ajratib olishda ishlatiladi. Agar soni ko'rsatilm agan bo'Isa satrni boshidan oxirigacha ajratib oladi.
Misol: substr (Hxirraatli do'stim: I0,7)=> do‘stim
Length () vazifasi satrni uzuniigini aniqlab borishdan
57
iborat.
Select Lpad(Surname, 10, $), RPad(Name, 10,@) from TALABA Where kurs=3 and stipend>0
Lpad(Surname, 10, $) RPad(Nanie, 10,( d )
$$SSPetrov Petr
$$$$PavIov Andrcy; a-Ut 'a
S$S$$Lukin Artem(({)((a](
Select substr(namt\ 1,1) / /” // Surname, City, length(City) from TALABA W here krus in (2,3,4) and stipend>0;
substr(name, 1,1) / / ’7/ Surname
|
City
|
length (City)
|
A.Petrov
|
Kursk
|
5
|
S. Sidorov
|
Moskva
|
^6
|
Select Surname, Name, Brithdav, DD.MM.YY) From TALABA
|
Tochar(birthday,
|
Surname
|
Name
|
Birthday
|
Toehar(birthday, DD.MM.YY
|
Ivanov
|
Ivan
|
3/11/992
|
3.12.92
|
Guruhii (agregat) funksiyalar
Guruhii funksiyalar jadvaldan yig‘ilgan axborotlarni olish uchun xizmat qiladi. Bu funksiyalar jadvaldagi satrlar guruhi bilan amal bajarib, 1 ta natija chiqaradi. Guruhii funksiyalar uchun quyidagi amallarni ishlatiladi.
COUNT - jadvaldagi satrlar sonini aniqlab beradi.
SUM - ko ‘rsatilgan maydon qiymatlarini yig'mdisini hisobiaydi.
AVG - tanlab olingan maydon qiymatlarini o 'lla arifmetigini hisobiaydi.
M AX yoki MIN - tanlab olingan maydon qiymatlarini eng kattasim yoki kichigini topib beradi.
Select so'rovida guruhli funksiyalar maydon nomlari kabi ishlatiladi. Maydon nomlari funksiyalar argumentlari sifatida. keladi.
Misol uchun jadvaldagi satrlar sonini aniqlash uchun quyidagi so‘rovdan foydalanamiz.
Select count (*) From К \ Л MS MARK’S:
Select komandasida group by parametrini ham ishlatish mumkin. Bu paramet bir maydon o'xshash paramctrlari (aniqlanayotgan qiymati) bo'yicha guruhlaydi va agregat funksiyalar ishlatilsa ular shu guruhda bo‘ladi.
Select talaba_ID, Max (mark) from exam_marks GROUP BY talaba_ID;
Guruhlashni bir nechta maydon bo'yicha ham bajarish mumkin.
Select taIaba_ID, subject ID, Max (mark) From exam-marks GROUP BY T alaba JD , subject ID;
Guruhlar ichidan kerakli yozuvlami ajratib olish uchun having ishlatiladi.
Select S u b jn a m e , max (hour) From SUBJECT Group by Subj_name Having max (Hour)>= 34;
Ba’zi hollarda natija jadvalidagi m a’lumotlarni tartiblash talab etiladi. Buning uchun Order by parametri ishlatiladi. B u parameter lco'rsatilgan maydon barcha yozuvlami o'sib borishi tartibida tartiblab beradi. Order by desc yozilsa kamayishi tartibida yoziladi. Order by ASC b o isa usish tartibida yoziladi.
Select * from Subject Order by Subj_name;
Select*from Subject Order by desc Subj-name;
Tartiblash bir nechta maydon bo'yicha bajarilishi ham mumkin. Bunda avval tartiblash 1-maydon bo ‘yicha keyin 2-maydon bo'yicha bajariladi.
Shuningdek, order by parametri group by parametri bilan birga
59
ishlatilislii lmimkin. Bunda group by so io v d a oxirida keiadi va unda guruhni ichidagi yozuvlarni tartiblaydi.
Select * from SUBJECT Order by Semester Group by Subj- name;
SQL tili bitta so‘rov ichiga ikkinchi so'rovni joyiasbtirib lsblatisli imkonini beradi. Misol uchun birorta talabani familiyasi bo‘yicha uning idsini topisb talab etilsa va bu talabani barcha baholari haqidagi m a’lumotni ko‘rmoqciii bo'lsak quyidagi so‘rovni yozish mumkin.
Select * from exam marks Where talaba ID=(select ta la b a l From talaba where surname= ‘Petrov’);
Jadvallar bilan ishlaganda ba’zan ustun va jadval nomlarini qayta aniqlashga yoki qayta nomlashga to 4g 'ri keiadi. Bunday masalalar ko‘pincha birorta ifodalami liisoblaganda, virtual ustunga joylashganda unga nom qo'yish yoki b a ’zan natija jadvali ustunini nomlashda kerak bo'ladi.
Select name as Name_ talaba, 2* stipend AS yangi St from talaba; Name talaba yangi St
Ivanov 150 '
Petrov 200
Xuddi shunmgdek biz ustun nomlarini ham o'zgartirishimiz mumkin.
EXITS operatori
SQLda ishlatiladigan EXITS operatori mantiqiy ifoda kabi rost va yolg'oii qiymatlar qabul qiladi. Bu operator argument sifatida qism so‘rovlarini ishlatadi. Agar qism so‘rov birorta qiymati rost, aks holda yolg‘on bo'lishi mumkin. M isol uchun imtixonlar jadvalidan hech b o ‘lmaganda talaba haqidagi m a’lumotni olgan talaba haqidagi m a’lumotni chiqarish uchun quyidagi so rov yoziladi.
Select distinct talaba_LD From exam_marks A where Exits (select
* from EXAM-MARKS B) where mark<3 and В Talaba ID= A
60
talaba ID;
M a’lumotlar bazasi jadvallardan tashkil topadi. Jadvallar alohida favl ko'rinishida yoki birorta faylni bo‘lagi b o iish i mumkin.
M aium ki, Select operatori yordamida virtual jadvallar yaratish. ya’ni vaqtinchalik jadvallar yaratish mumkin. Bunday jadvallar vaqtinchalik b o iib , yaratgan foydalanuvchi o'zi undan foydalanishi mumkin.
Tasavurlar ham vaqtinchalik jadvallar b o iib , ular ko ‘p foydalanuvchilar murojaat qilishi mumkin va u m a’lumot bazasidan majburan olib tashlangunicha mavjud b o iad i.
Tasavurlar MB oddiy jadvallariga o ‘xshash b o iib , m aium otlar saqlovchi fizik obyekt hisoblanmaydi. Tasavurlarda m a iu m o th r jadvallardan tanlab olinadi. Tasavurlar foydalanuvchilarda:i jadvallarni ba'zi ustunlarini yashirish uchun yoki k o ‘pmcha foydalanuvchiga kerakli b o ig an bir nechta jadvaldan bitta yaratish kerak b o iad i. Misol sifatida 3 ta jadvaldan tashkil topgan oddiy m a’lumot bazasini qarab chiqamiz.
Tovarlar ( ID - to v a r , nomi, narxi, tavsifi); Mijozlar(ID - mijoz, ismi, manzili, telefon); Sotish(ID- tovar,soni, mijoz).
Tashkil qilish nuqtai nazaridan bn m a'lum ot bazasi yomon loyihalanmagan. Lekin ba’zi masalami yechishda foydalanuvchini mijoz va tovar identifikatorlari qiziqtirmaydi. Aniqroq aytganada unga bitta jadval kerak b o iad i. Masalan bu jadval “sotish taxlili (tovar, soni, bahosi, narxi, mijoz)”. Bu jadvalni berilgan uchta jadvaldan quyidagi soi'ov yordamida hosil qilish mumkin.
SELECT Tovarlar.Nomi AS Tovar, Sotish.Soni*Tovarlar.Bahosi AS Narxi. M ijoz.Ismi || ‘.Manzil: ‘ j| M ijoz.M anzil || tel. 4 || M ijoz.Telefon AS M ijoz FROM Sotish, Tovarlar, M ijozlar W HERE Sotish.ID_mijoz=
3>
|
| |