|
SELECT book, title, author, name
|
bet | 2/10 | Sana | 11.12.2023 | Hajmi | 34,52 Kb. | | #116098 |
Bog'liq BazaSELECT 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:
SELECT my_prod.name
FROM my_prod
NATURAL LEFT JOIN their_prod
Jadvallarni o‘zi bilan jamlash.
Jadvallarni o‘zi bilan jamlash uchun xar bir satrning o‘zi yoki boshqa satrlar bilan kombinatsiyasini xosil qilishingiz mumkin. So‘ngra xar bir satr predikat yordamida baxolanadi. Bu turdagi jamlash boshqa turdagi jamlashdan farq qilmaydi, farqi ikki jadval bir xildir. Jadvallarni jamlashda qaytariluvchi ustun noilari oldiga jadval nomi qo‘yiladi. Bu usutunlarga so‘rovlarda murojaat qilish uchun xar xil nrmlarga ega bo‘lishi kerak. Buning uchun vaqtinchalik nomlar ya’ni psevdonimlar qo‘llandi. Ular so‘rov FROM jumlasida jadval nomidan so‘ng bo‘shlik qo‘yib yoziladi.
Misol: bir xil reytingga ega xamma buyurtmachilar juftlarini topish.
SELECT a.CName, b.CName, a.Rating
|
| |