Tasdiqlayman ” 2014 y ktbdo’ E. Pirmatov
-Mavzu. BIRLASHTIRISH OPERATORI
Download 1.32 Mb.
|
maruza1
28-Mavzu. BIRLASHTIRISH OPERATORI
Birlashtirish operatori UNION ikkita yoki undan ortiq SQL so'rovlarga chiqaradigan natijalarni yagona satrlar va ustut1'31" to'plamiga birlashtiradi. Masalan, bitta jadvalda MOSKVAda yashaydigan talaba va o'qituvchilarning identifikatorlarini bitta jadvalda olish uchun quyidagicha so'rov ishlatiladi: SELECT 'STUDENT ', SURNAME, STUDENTJD FROM STUDENT WHERE CITY= MOSKVA UNION SELECT O'QITUVCHI ', SURNAME, LECTURERJD FROM LECTURER WHERE CITY=' MOSKVA; UNION takrorlanishlarni yo'qotish. Oddiy so'rovlardan farqli ravishda UNION avtomatik ravishda chiqarilayotgan ma'lumotlardan takrorlanuvchi satrlarni olib tashlaydi. SELECT CITY FROM STUDENT UNION SELECT CITY FROM LECTURER; Bir xil shahar nomi qaytarilmaydi, olib tashlanadi. Agar frar bir so'rovda barcha satrlarni boshqa birlashtiruvchi so'rovlarga bo'lishidan qat'i nazar chiqarish talab etilsa UNION ALL kon-struksiyasini ishlatish kerak. SELECT CITY FROM STUDENT UNION ALL SELECT CITY FROM LECTURER; Takrorlanishni bo'ladi. Jadvallarni INNER JOIN operatori yordamida ulash. Agar SELECT operatorida FROM so'zidan keyin bitta jadval emas, ikkita jadval ishlatilsa, unda so'rov natijasi (WHERE so'zi ko'rsatilmasa) bitta jadvalning liar bir satri ikkinchi jadvalning har bir satri talari ulanadi. Bu ba'zan dekart ko'paytma, yoki jadvallarni birlashtirish deyiladi. WHERE ishlatilsa jadval ixchamlanadi. SQL bir nechta jadvallardan ma'lumot chiqarishi mumkin. Masalan talabalar familiyasini (STUDENT jadvalidan) va har bir student uchun, talabalar yashaydigan shahar, universitet nomini (UNIVERSITY jadvalidan) chiqarish kerak bo'ladi, unda barcha talabalar va universitetlar ikkala jadvaldagi CITY maydon qiymat-lari bir xil bo'lgan yozuvlar kombinatsiyasini olish kerak. Buning uchun so'rov SELECT STUDENT.SURNAME, UNIVERSITY. UNIV_ NAMES, STUDENT.CITY FROM STUDENT, UNIVERSITY WHERE STUDENT.CITY=UNIVERSITY.CITY; Tenglikka asoslangan predikatlarni ishlatib birlashtirish ekvibirlashtirish deyiladi. Misolda ko'rib chiqilgan jadvallarni birlashtirish ichki (INNER) birlashtirish deyiladi. Bunday birlashtirilishda bajarilayotgan so'rovni ON so'zida berilgan sharti rost bo'lgan jadvallar satrlari olinadi. Yuqoridagi so'rov, ya'ni talaba (STUDENT jadvali) va u yashaydigan shaharlar, universitet nomlari (UNIVERSITY jadvali) bilan chiqarish talab etilsa, JOIN kalit so'zini ishlatib quyidagicha tashkil etiladi: SELECT STUDENT.SURNAME.UNIVERSITY.UNIV. NAME, STUDENT.CITY FROM STUDENT INNER JOIN UNIVERSITY. ON STU-DENT.CITY=UNIVERSITYCITY;
Download 1.32 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling