Tasdiqlayman ” 2014 y ktbdo’ E. Pirmatov


-Mavzu. CHIQARILAYOTGAN MA'LUMOTLARNI O'ZGARTIRISH


Download 1.32 Mb.
bet32/36
Sana25.11.2021
Hajmi1.32 Mb.
#177111
1   ...   28   29   30   31   32   33   34   35   36
Bog'liq
maruza1

26-Mavzu. CHIQARILAYOTGAN MA'LUMOTLARNI O'ZGARTIRISH
SQL tilida ustun qiymatlari yoki ifodadagi konstantalari bilan ishlashga mo'ljallangan ma'lumotlarni o'zgartirish operatorlari va kiritilgan funksiyalar bilan ishlash amalga oshirilgan. Unda ustun nomi, konstanta va kiritilgan funksiyalardan tashkil topgan ifoda qiymatlaridan foydalanish imkoniyati bor. Bunda quyidagi amal-lar ishlatiladi: "-", "+", "*", "/"

Misol: select surname, name, stipend, kurs, (stipend*kurs)/2;

FROM student

WHERE kurs= 4 and stipend>0;

So'rov natijasi quyidagi ko'rinishda bo'ladi:


Surname

Name

Stipend

Kurs




Sidirov

Vadim

150

4

300

Petrov

Anton

200

4

400

SQL tilida ma'lumotlarni almashtiruvchi va kiritilgan famili-yalar ishlatilishi mumkin. Ular ustun qiymatlari bilan ishlashi yoki const sifati ifodalarda keladi. Const sifatida simvolli const, sonli const larni ishlatish mumkin. Ular ustunlar ro'yxatiga kiri-tiladi va xuddi virtual ustun kabi aniqlanadi. Agar so'rovda ustun o'rnida son kelsa, bu sonli const hisoblanadi. Simvolli const (' ') ichida yoziladi.

Misol: quyidagi so'rov ushbu jadvalni chaqiradi:

Select 'familiya', surname, 'ism', name, 100

From student WHERE kurs= 4 and stipend>0;







Surname




Name




familiya

Ivanov

ism

Ivan

100

familiya

Petrov

ism

Petr

100

Satrlarni ulash amali continct 2 ta va undan ko'p simvolli ustun qiymatlari bitta satrga joylashtirib boriladi. Select surname ||'-'|| name, stipend Where kurs = 4 and stipend>0;





stipend

SidirovVadim

150

PetrovAnton

200

1 ЛА
SQL TILINING STANDART FUNKSIYALARI

ISjlisol sifatida standart funksiyalari deganda quyidagilarni ko'ramiz:

Lower () - berilgan satrni katta harflarga kichik harf-larga almashtirib beradi;

Upper () - kichik harflarni katta harflarni almashtirib beradi;

Init cap () — satrdagi har bir so'zni 1- harfini bosh harf qilib beradi. Masalan, ularda quyidagi misolni ko'ramiz:


Surname

Name

Sidirov

Vadim

Petrov

Anton

Agregat funksiyalar yordamida, masalan, yig'indini hisob-lash, amallarni bajarishda NULL hisobga olinmaydi. Select lower (surname), Upper (name) from student Where kurs=4 and Stipend>0;

  1. LPAD (, uzunlik, []) — satrni chapdan to'ldirish.

  2. RPAD (,,[]); - satrni o'ngdan to'ldirish.

  3. Sart berilgan uzunlikgacha qism satr bilan chapdan o'ngga to'ldiriladi.

Agar qism satr ko'rsatilmagan bo'lsa, satr sukut bilan, probel-lar bilan to'ldiriladi. Agar uzunlik satr uzunlikdan kichik bo'lsa berilgan satr ko'rsatilgan uzunlikgacha to'ldiriladi (balki, ketma-ketlikni takrorlash bilan) qirqiladi:

LTRIM (,[]);

LTRIM (,[]).

Bu funksiyalarning vazifasi mos ravishda chapdagi (o'ngdagi) chegaraviy simvolni olib tashlashdan iborat. Olib tashlangan sim-vollar qism satrda ko'rsatiladi. Agar qism satr ishlamasa, probel-lari olib tashlanadi.

Substr (,,[])

4. Quyida beriladigan funksiyalar satrdagi berilgan pozitsiyadan boshlab berilgan sondagicha simvollarni ajratib oladi. Agar soni ko'rsatilmagan bo'lsa, satrni boshidan oxirigacha ajratib oladi.

Misol: substr (hurmatli do'stim: 10,6) ; => do'stim

5. Length () vazifasi satrning uzunligini aniqlab borishdan iborat.

Select lpad (surname, 10, @)

Rpad (name, 10,$) from student

Where kurs=3 and stipend>0;

So'rov natijasi quyidagi jadvaldan iborat bo'ladi:










@@@@Petrov

Petr $$$$$$

@@@@Pavlov

Andrey$$$$

@@@@@@Lukin

Artyom $$$

6. Select substr (name, 1,1) ||'.'|| Surname, city, length(city)

Where kurs in(2,3,4) and stipend>0;

So'rov natijasi quyidagi jadvaldan iborat bo'ladi:





City




A. Petrov

Kursk

5

S. Sidirov

Moskva

6

0. Zayseva

Lipetsk

7

A. Lukin

Voronej

7

A. Petrov

Null

Null

Misol:

Select surname, name, brithday;

To_char (birthday, DD,MM,YY)

From student;

So'rov natijasi quyidagi jadvaldan iborat bo'ladi:


Surname

Name

Birthday




Ivanov

Ivan

3/11/1992

3.12.92

Ma'lumotlar bilan mampulatsiyalashli (agregat) funksiyalar.

Ma'lumotlar bilan mampulatsiyalashli funksiyalar jadvaldan yig'ilgan axborotlarni olish uchun xizmat qiladi. Bu funksiyalar jadvaldagi satrlar 6.9. Ma'lumotlar bilan mampulatsiyalashli funksiyalarda amal bajarib, 1 ta natija chiqaradi. 6.9. Ma'lumotlar bilan mampulatsiyalashli funksiyalar uchun quyidagi amallarni ishlatamiz:



  1. Count — jadvaldagi satrlar sonini aniqlab beradi.

  2. Sum — ko'rsatilgan maydon qiymatlari yig'indisini hisob-laydi.

  3. AVG — tanlab olingan maydon qiymatlarini o'rta arifme-tigini hisoblaydi.

  4. MAX (MIN) — tanlab olingan maydon qiymatlarnining eng kattasini (kichigini) olib beradi.

Select so'rovida 6.9. Ma'lumotlar bilan manipulatsiyalashli funksiyalar maydon nomlari kabi ishlatiladi. Maydon nomlari funksiyalar argumentlari sifatida keladi.

Misol:


  1. Exam_marks jadvaldagi mark maydonning o'rtacha qiy-matini hisoblash: select average (mark) from exam_marks;

  2. Jadvaldagi satrlar (yoki yozuvlar) sonini hisoblash uchun quyidagi komandalarda foydalanamiz:

Select count (*) From exam_marks;

3. Select count (distint aubj-ID); from subject;

Select komandasida group by parametr ham ishlatish mumkin. Bu parametr maydonni o'xshash parametrlari (aniqlanayotgan qiy-mat) bo'yicha 6.9. Ma'lumotlar bilan manipulatsiyalaydi va agregat funksiyalar ishlatilsa, ular shu 6.9. Ma'lumotlar bilan manipulatsi-yalashga tegishli bo'ladi.

Misol: select student_ID, Max(mark) from exam_marks Group by student_ID;

6.9. Ma'lumotlar bilan manipulatsiyalashni bir necha may­don bo'yicha ham bajarish mumkin:

Select student_ID, subjectID Max(mark) From exammarks group by Student_lD, subject_ID;

6.9. Ma'lumotlar bilan manipulatsiyalashlar ichidan kerakli yozuvni ajratib olish uchun having ishlatiladi:

Having faqat 6.9. Ma'lumotlar bilan manipulatsiyalashlar ichi-ga tegishli.

Select subjname, max(hour) From subject Group by subj_ name

Having max(hour)>=34;

Ba'zi hollarda natijada jadvaldagi ma'lumotlarni tartiblash ta-lab etiladi. Buning uchun Order by parametric ishlatiladi. Bu parametr ko'rsatilgan maydonning barcha yozuvlarini o'sib borish tartibida saralaydi. Order by desc esa kamayish tartibida saralaydi. Order by (ASC) bo'lsa, o'sish tartibida saralaydi.

Misol:


Select * subject Order by subj_name;

Select* from subject Order by subj name desc;

Tartiblash bir nechta maydon bo'yicha bo'lishi ham mum-kin. Bunda avval tartiblash 1- maydon bo'yicha, keyin 2- maydon bo'yicha bajariladi.

Shuningdek, Order by parametri Group by parametri bilan ham ishlatilishi mumkin. Bunda Order by so'rov oxiri keladi va unda 6.9. Ma'lumotlar bilan manipulatsiyalashni ichidagi yozuv-larni tartiblaydi. Misollar:

Select * from subject Order by semester, subj_name;

Select subject, semester, subj_name Order by semester;



Download 1.32 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   36




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