|
chap_jadval FULL OUTER JOIN o`ng_jadval ON bog`lanish_sharti WHERE o`ng_jadval IS NULL OR chap_jadval IS NULL
|
bet | 17/20 | Sana | 27.05.2024 | Hajmi | 1,82 Mb. | | #254618 |
Bog'liq 4-maruzachap_jadval FULL OUTER JOIN o`ng_jadval ON bog`lanish_sharti WHERE o`ng_jadval IS NULL OR chap_jadval IS NULL
Misol:
SELECT * FROM Authors A
FULL OUTER JOIN Books B ON A.AuthorID = B.BookID
WHERE A.AuthorID IS NULL OR B.BookID IS NULL
NATURAL JOIN – chap tomon jadvali bilan o`ng tomon jadvalining mos atributlari avtomatik aniqlanib, bu atributlar orasida shart bajarilsa javob qaytariladi. Xuddi INNER JOIN kabi
chap_jadval NATURAL JOIN o`ng_jadval
CROSS JOIN – chap tomon jadvalining har bir yozuvi o`ng tomon jadvalining har bir yozuviga mos quyiladi, ya`ni dekart ko`paytma bo`ladi
chap_jadval CROSS JOIN o`ng_jadval
CROSS JOIN sintaksisi:
SELECT maydon nomlari [,... n] FROM Jadval_1
CROSS JOIN Jadval _2 ON bog`liqlik_sharti
Misol:
SELECT *
FROM Authors A
CROSS JOIN Books B
Natija
A.AuthorID
|
A.AuthorName
|
B.BookID
|
B.BookName
|
1
|
Bruce Eckel
|
3
|
Modern Operating System
|
1
|
Bruce Eckel
|
1
|
Thinking in Java
|
1
|
Bruce Eckel
|
3
|
Computer Architecture
|
1
|
Bruce Eckel
|
4
|
Programming in Scala
|
2
|
Robert Lafore
|
3
|
Modern Operating System
|
2
|
Robert Lafore
|
1
|
Thinking in Java
|
2
|
Robert Lafore
|
3
|
Computer Architecture
|
2
|
Robert Lafore
|
4
|
Programming in Scala
|
3
|
Andrew Tanenbaum
|
3
|
Modern Operating System
|
3
|
Andrew Tanenbaum
|
1
|
Thinking in Java
|
3
|
Andrew Tanenbaum
|
3
|
Computer Architecture
|
3
|
Andrew Tanenbaum
|
4
|
Programming in Scala
| 3. UNION orqali jadvallarni vertikal birlashtirish
Biz JOIN orqali so`rovda jadvallarni gorizontal birlashtirib natijalarini olishni qarab chiqdik. Endi so`rov natijalarini UNION orqali vertikal birlashtirish amallarini qaraladi. Qisqacha aytganda jadvallarni JOIN yonma-yon, UNION ustma-ust birlashtiradi.
UNION – turlicha jadvallardan qayta ishlangan natija beruvchi, lekin bir xil tuzulmga ega bo`lgan so`rovlarning natijalarini umumlashtiradi. Shunday ekan bunda har bir so`rovning ustunlari soni, ma`lumot turlariga ko`ra ustunlarning joylashuv tartibi mos bo`lishi kerak. Misol uchun, yuqori va ostki so`rovlar uchun sonli ustun ostida son, matnli ustun ostida matn va h.k.
Vertikal jadvallarni birlashtirish amallari MBBT xususiyatlaridan kelib chiqqan holda amalga oshiriladi. Misol uchun MS SQL da quyidagi turlari mavjud: UNION ALL, UNION, EXCEPT, INTERSECT.
UNION ALL – ikki to`plamdagi barcha qatorlarni birlashtiradi (A+B). Bu operator xuddi gorizontal birlashtirishdagi FULL JOIN ga o`xshaydi.
UNION – ikki to`plamdan takrorlanmas (unikal) qatorlarni birlashtiradi. DISTINCT(A+B). Bu operator gorizontal birlashtirishdagi LEFT JOIN ga o`xshaydi.
EXCEPT \ MINUS – yuqori jalvaldning unikal qatorlaridan quyi jadvalning unikal qatorlarini ayirib, yuqori jadval qatorlarini chiqaradi DISTINCT(A-B). Bu operator esa LEFT JOIN ga o`xshaydi.
INTERSECT – yuqori va quyi jadvallarda mavduj unikal qatorlarni natija sifatida qaytaradi DISTINCT(A&B). Bu esa INNER JOIN ga o`xshaydi.
|
| |