EXITS operatori
SQL da ishlatiladigan EXITS operatori mantikiy ifoda kabi rost va yolgon kiymatlar k-k. bu operator argument sifatida kism surovlarni ishlatadi. Agar kism surov birorta kiymati rost, aks xolda yolgon bulishi. Misol. Imtixonlar jadvalidan xech bulmaganda talaba xakidagi ma’lumotni olgan talaba xakidagshi ma’lumotni chikarish uchun kuyidagi surov yoziladi.
Select distinct student_ID
From ecam_marks A where
Exits (select * from EXAM-MARKS )
B where mark<3 and B
Student_ID= A student_ID
Birlashtirish operatori- UNION , operator 2 yoki unidan ortik SQL surovlar chikaradigan natijalarni yagona satr va ustunlar tuplamiga birlashtiradi.
Misol: 1 ta jadvalda Moskva shaxridan bulgan talaba va ukitulvchilarni familiyalari va ID kodlarini joylashtirish uchun kuyidagi SQL surovni yozamiz.
Select ‘TALABA____’, Surname,
Student_ ID, from STUDENT
Where city= ‘Moskva’
union
Select “o’qituvchi___”, Surname,
Lecturer_ID
From LECTURER where city= ‘Moskva’;
Takrorlanuvchi satrlar paydo bulishi uchun «UNION ALL» deb yoziladi.
Jadvallarni INNER JOIN operator bilan birlashtirish.
Agar select operatorida from suzunlik keyin 1 ta jadval emas 2 ta jadval ishlatilsa, bunda surovni natija tashkil kiluvchi jadval 1 jadvali xar bir satri bilan 2-jadvalni xar bir satriga ulashdan (kombinatsiyadan) yaratiladi. Bu amal jadvallarni birlashtirish deyiladi.
Misol: St. jadvaldagi talabalr fan va xar bir talaba uchun shu talabalar yashaydigan universitet nomini (UN jadvaldan) chikarish kerak bulsa unda buni kuyidagicha bajarimiz.
Select STUDENT.Surname, UNIVERSITY.Univ_name, STUDENT.City
From STUDENT INNER JOIN UNIVERSITY on STUDENT.City = UNIVERSITY.City;
Ma’lumotlar bazvasi jadvallardan tashkil topadi. Jadvallar aloxida fayl ko‘rinishida , yoki birorta faylni bo‘lagi bo‘lishi mumkin.
Ma’lumki , SELECT operatori yordamida virtual jadvallar yaratish, ya’ni vaqtinchalik jadvallar yaratish mumkin. Bunday jadvallar vaqtinchalik bo‘lib, yaratgan foydalanuvchi o‘zi undan foydalanishi mumkin.
Tasavurlar xam vaktinchalik jadvallar bo‘lib,ular kup foydalanuvchilvr murojat qilishi mumkin va u ma’lumot bazasidan majburan olib tashlanguncha mavjud bo‘ladi.
Tasavurlar MB oddiy jadvallariga o‘xshash bo‘lib, ma’lumotlar saqlovchi fizik ob’ekt xisoblanmaydi. Tasavurlarda ma’lumotlar jadvallardan tanlab olinadi
Tasavurlar foydalanuvchilardan jadvallarni ba’zi ustunlarini yashirish uchun yoki ko‘pincha foydalanuvchiga keraui bo‘lgan bir nechta jadvaldan bitta yaratish kerak bo‘ladi. Misol sifatida 3ta jadvaldan tashkil topgan oddiy ma’lumot bazasini qarab chiqamiz.
Tovarlar ( ID -tovar , nomi, narxi, tavsifi)
Mijozlar(ID - mijoz, ismi, manzili, telefon)
Sotish(ID- tovar,soni, mijoz)
Tashkil qilish nuqtai nazaridan bu ma’lumot bazasi yomon loyixalanmagan. Lekin ba’zi masalarni echishda foydalanuvchini(menedjerni) mijoz va tovar identifikatorlari qiziqtirmaydi. Aniqrog‘ini aytganada, unga bitta jadval kerak bo‘ladi. Masalan bu jadval SOTISH_TAXLILI (tovar, soni,bag‘osi, narxi, mijoz). Bu jadvalni berilgan uchta jadvaldan quyidagi so‘rov yordamida hosil qilish mumkin.
SELECT Tovarlar.Nomi AS Tovar, Sotish.Soni*Tovarlar.Bahosi AS Narxi, Mijoz.Ismi || ‘ .Manzil: ‘ || Mijoz.Manzil || ‘ . tel. ‘ || Mijoz.Telefon AS Mijoz FROM Sotish, Tovarlar, Mijozlar WHERE Sotish. ID – mijoz= Mijozlar.ID – mijoz AND Sotish.ID- tovar = Tovarlar. ID –tovar;
Ko‘rib chiqilgan so‘rov uchta jadvalni birlashtirishidan iborat bo‘lib, ularga narx va mijoz ustunlarlari qo‘shilgandir.Buning natijasida quyidagi jadval xosil bo‘ladi.
Agar bu jadval SELECT operatorini natijasi emas , tasavur bo‘lganda edi , unga oddiy ma’lumot bazasini oddiy jadvali kabi murojat qilinar edi. Ko‘p xollarda esa MB uchta jadvaldan iborat ekanligini xisobga olmay , bitta tasavur bilan ishlanar edi.
Tasavurlar yaratish uchun CREATE VIEW komandasi ishlatiladi
Uni formati kuyidagicha:
3>
Do'stlaringiz bilan baham: |