Tasdiqlayman ” 2014 y ktbdo’ E. Pirmatov


-Mavzu. BIRLASHTIRISH OPERATORI


Download 1.32 Mb.
bet34/36
Sana25.11.2021
Hajmi1.32 Mb.
#177111
1   ...   28   29   30   31   32   33   34   35   36
Bog'liq
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 SE­LECT 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 ta­lari ulanadi. Bu ba'zan dekart ko'paytma, yoki jadvallarni bir­lashtirish 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 (UNI­VERSITY jadvalidan) chiqarish kerak bo'ladi, unda barcha ta­labalar 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:
1   ...   28   29   30   31   32   33   34   35   36




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