Student ID — talabani identifikatsiyalovchi sonli kod SURNAME — talaba familiyasi NAME — talaba ismi STIPEND — talaba oladigan stipendiya KURS — talaba o‘qiydigan kurs CITY — talaba tug‘ilgan shahar BIRTHDAY — talaba tug‘ilgan sana UNIV ID — talaba o‘qiydigan universitetni identifikatsiyalovchi kod LECTURER
LECTURER_ID
SURNAME
NAME
CITY
UNIV ID
24
Kosmakov
Boris
Voronej
10
46
Nikonov
Ivan
Voronej
10
74
Lagutin
Pavel
Moskva
22
108
Otrukov
Nikolay
Moskva
22
276
Nikolayev
Viktor
Voronej
10
378
Sorokin
Andrey
Orel
10
LECTURER — o‘qituvchini identifikatsiyalovchi kod SURNAME — talaba familiyasi NAME — talaba ismi CITY — talaba tug‘ilgan shahar UNIV ID — talaba o‘qiydigan universitetni identifikatsiyalovchi kod SUBJECT
SUBJECT_ID
SUBJ-NAME
HOUR
SEMESTR
10
Informatika
56
1
22
Fizika
34
1
43
Matematika
56
2
56
Tarix
34
4
94
Ingliz tili
56
3
73
J/tarbiya
34
5
SUBJECT_ID — o‘rgatiladigan fan identifikatori SUBJ-NAME — o‘qitiladigan fan nomi HOUR — fanni o‘qitish uchun ajratilgan soatlar SEMESTR — fan o‘qitiladigan semestr UNIVERSITY
UNIV ID
UNIV NAME
RATING
CITY
22
Mry
606
Moskva
10
Bry
296
Voronej
11
Hgy
345
Novosibirsk
32
Pry
416
Rostov
14
Bry
326
Belgorod
15
Try
368
Tomsk
18
Brma
327
Voronej
UNIV ID — talaba o‘qiydigan universitetni identifikatsi- yalovchi kod UNIV NAME — universitet nomi RATING — universitet reytingi CITY — universitet joylashgan shahar EXAM MARKS
Exam_ID
Student ID
Subject id
Mark
Exam date
145
12
10
5
12.01.09
34
32
10
4
23.01.09
75
55
10
5
25.01.09
238
12
22
3
17.06.08
639
55
22
Null
22.06.08
43
6
22
4
18.01.09
Exam_ID — imtihon identifikatori Student ID — talaba identifikatori Subject id — o‘qitiladigan fan identifikatori Mark — imtihon bahosi Exam date — imtihon sanasi
LECTURER_ID
SUBJECT_ID
24
10
46
22
74
43
108
56
276
94
328
73
LECTURER_ID — o‘qituvchi identifikatori SUBJECT_ID — o‘qitiladigan fan identifikatori Oddiy SELECT so‘rovlari SELECT (tanlash) SQL tilining eng muhim va ko‘p ishlati- ladigan operatori hisoblanadi. U ma’lumotlar bazasi jadvalidan axborotlarni tanlab olish uchun mo‘ljallangan.
SELECT operatori sodda holda quyidagi ko‘rinishda bo‘ladi: SELECT [DISTINCT] FROM [WHERE] [ORDER BY] [GROUP BY] [HAVING] [UNION]; Bu yerda kvadrat qavslarda yozilgan elementlar har doim ham yozilishi shart emas. SELECT xizmatchi so‘zi ma’lumotlar bazasidan axborotni tanlab olish operatorini anglatadi. SELECT so‘zidan keyin bir-biri- dan vergul bilan ajratib so‘ralayotgan maydon nomlari (atributlar ro‘yxati) yoziladi. SELECT so‘rov operatorining zarur xizmatchi so‘zi FROM hisoblanadi. FROM so‘zidan keyin axborot olinayot- gan jadval nomlari bir-biridan vergul bilan ajratib yoziladi. Masalan: SELECT NAME, SURNAME FROM STUDENT; Ixtiyoriy SQL so‘rov operatori nuqta vergul «;» simvoli bilan tugaydi. Keltirilgan so‘rov STUDENT jadvalidan NAME va SURNAME maydonlarning barcha qiymatlarini ajratib olishni amalga oshiradi.
So‘rovlarda maxsus operatorlarni ishlatish
All (barchasi) xizmatchi so‘zi distinct nisbatan teskari ta’sir qiladi, ya’ni natijaga takrorlanuvchi ma’lumotlarni qo‘shib chiqaradi. SELECT operatorida shartlarni yozish uchun Where (qayer- da) kalit so‘zi ishlatiladi. Bu so‘z bilan beriladigan shart yordamida jadvaldan qaysi satrlar tanlab olinishi kerakligi ko‘rsatiladi. So‘rov natijasidan iborat jadvalga Where da ko‘rsatilgan shartni qanoatlantiruvchi (rost) satrlargina kiritiladi. Masalan: Petrov familiyali talabaning familiya va ismini chiqarish uchun quyidagi so‘rov yoziladi: Select SURNAME, NAME From student Where SURNAME ='Petrov' Shartda ishlatiladigan amallar. Shartda solishtirish va man- tiqiy amallar ishlatilishi mumkin: Solishtirish amallari = (teng), <>(teng emas), >=(katta yoki teng), <=(kichik yoki teng), <(ki- chik), >(katta). Mantiqiy amallar: AND, OR, NOT Masalan: 3-kursda o‘qiydigan va stipendiya oladigan tala- balarning ismi va familiyasini chiqarish so‘rovini tuzing: Select NAME, SURNAME From STUDENT Where Kurs=3 AND STIPEND>0; IN, BETWEEN, LIKE, IS NULL operatorlari. WHERE para- metrida mantiqiy shartlarni berishda IN, BETWEEN, LIKE, IS NULL parametrlarni ishlatish mumkin. IN operatori (ro‘yxatdagi ixtiyoriy elementga teng) va NOT IN (ro‘yxatdagi birorta ham elementga teng emas) tekshirilayotgan maydon qiymatini berilgan ro‘yxat bilan solishtirish uchun ishlatiladi. Bu qiymatlar ro‘yxati IN operatorining o‘ng tomonida yoziladi. IN operatori ishlatib qurilgan shart rost deb hisoblanadi, agarda IN chap tomonida yozilgan maydon qiymati INdan o‘ng tomonda qavs ichida yozil- gan maydon qiymatlaridan biri bilan bir xil bo‘lsa. NOT IN parametr qo‘llab tuzilgan shart rost bo‘ladi, agarda NOT IN parametrda chap tomonda ko‘rsatilgan maydon qiymat- laridan birortasi ham, NOT IN parametrining o‘ng tomonida qavs ichida keltirilgan ro‘yxatda berilgan birorta ham qiymatga mos kelmasa. Masalan, EXAM_MARKS jadvalidan imtihonda faqat «4» va «5» baho olgan talabalar haqida ma’lumot chiqaring: SELECT * FROM EXAM_MARKS WHERE MARK IN (4,5); Masalan, imtihonda birorta ham «4» va «5» baho olmagan talabalarning ro‘yxatini chiqarish uchun: SELECT * FROM EXAM_MARKS WHERE MARK NOT IN (4,5); BEET WEEN operatori. BEET WEEN operatori maydon qiymati berilgan intervalga joylashishi (kirishishi) shartini tek- shirishda ishlatiladi, ya’ni bunda atribut qiymatlari ro‘yxati (IN parametridagi) o‘rniga, ularning o‘zgarish chegarasi beriladi. Masalan, o‘qitish uchun «30» va «40» soat oralig‘ida vaqt ajra- tilgan, fanlar (predmetlar) haqidagi yozuvlarni chiqarish uchun so‘rov ko‘rinishi quyidagicha bo‘ladi: SELECT * FROM SUBJEKT WHERE HOUR BEETWEEN 30 AND 40; Chegaraviy qiymatlar (30 va 40 qiymatlari), solishtirilayotgan qiymatlar to‘plamiga kiradi. BEETWEEN operatorini (para- metri) sonli maydon va simvolli maydon toifalarida ham qo‘llash mumkin. LIKE operatori. LIKE operatorini faqat simvolli toifalar may- donlariga (CHAR yoki VARCHAR) qo‘llash mumkin. Bu operator tekshirilayotgan satrli maydon qiymatiga, LIKE operatorida berilgan qism satrga (qidirish namunasi) kirishi (uchrashi) tekshiriladi. Berilgan qism satrini namunasi bo‘yicha satrli qiymatlarni tanlash uchun qidirilayotgan satr namunasining shablonidan foy- dalanish mumkin. Bunda shablonda quyidagi simvoldan foydala- nish mumkin. Shablonda ishlatilgan «_» belgi, shu belgi joylashgan yerda ixtiyoriy bitta simvol ishlatilishi mumkinligini anglatadi. Shablonda ishlatilgan «%» belgi, shu belgi joylashgan yerda ixtiyoriy uzunlikdagi ixtiyoriy simvollar ketma-ketligini ishlatish mumkinligini angiatadi. Masalan, STUDENT jadvalidan famili- yasi P harfi bilan boshlanadigan talabalar haqidagi axborotlarni chiqarish so‘rovi quyidagicha bo‘ladi: SELECT * FROM STUDENT WHERE SURNAME LIKE 'P%'; 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: