SELECT Customers.CName, Salepeople.SName, Salepeople.City
FROM Salepeople, Customers
WHERE Salepeople.City = Customers.City;
Jamlashda SQL bir necha jadval satrlari kombinatsiyasini predikatlar bщyicha solishtirishdir. Asosoan ma’lumotlar ilovali yaxlitlik asosida tekshirilib, ajratib olinadi.
Misol: xar bir sotuvchiga mos keluvchi buyurtmachilar ro‘yxati:
SELECT Customers.CName, Salepeople.SName
FROM Customers, Salepeople
WHERE Salepeople.SNum = Customers.SNum;
Tenglikka asoslangan predikatlardan foydalanuvchi jamlanmalar, tenglik bo‘yicha jamlanma deb atalib, jamlanmalarning eng umuiy ko‘rinishidir. SHu Bilan birga ixtiyoriy relyasion operatordan foydalanish mumkin.
Ichki va tashqi jamlashlar
Jamlashlar bir jadval satriga ikkinchi jadval satrlarini mos qo‘yishga imkon beradi. Jamlashlar asosiy turi bu ichki jamlashdir. Jadvallarni ichki jamlash ikki jadval usutunlarini tenglashtirishga asoslangandir:
SELECT book, title, author, name
FROM author, book
WHERE book, author = author, id
MySQL jamlashning kuchliroq tipi ya’ni chap tashqi jamlash( yoki tashqi jamlash) dan foydalanishga imkon beradi.
Jamlash bu turitning ichki jamlashdan farqi shundaki natijaga o‘ng jadvalda mos ustunga ega bo‘lmagan chap jadval ustunlari qo‘shiladi. Agar avtorlar va kitoblar misoliga e’tibor bersangiz atijaga ma’lumotlar bazasida kitoblarga ega bo‘lmagan kitoblar kirmagan edi.
Ko‘p xollarda o‘ng jadvalda mosi bo‘lmagan chap jadvaldagi satrlarni chiqarish kerak bo‘ladi. Buni tashqi jamlash yordamida amalga oshirish mumkin:
SELECT book.title, author.name
FROM author
LEFT JOIN book ON book.author = author.id
E’tibor bering tashыi jamlanmada WHERE o‘rniga ON kalit so‘zi ishlatiladi.
MySQL tabiiy tashqi jamlashdan (natural outer join)foydalanishga imkon beradi. Tabiiy tashqi jamlash ikki jadval ikki ustuni bir xil nom va bir xil tiga ega bo‘lgan xamda shu ustundagi qiymatlar teng bo‘lgan satrlarni birlashtirishga imkon beradi:
Do'stlaringiz bilan baham: |