Yuldashev Javoxir
5.Laboratoriya ishi
Mavzu: Bir necha jadvallarni birlashtirish, ‘join’ lar bilan ishlash.
Ishdan maqsad: Bir necha jadvallarni birlashtirish, ‘join’ lar bilan ishlash bo`yicha ko`nikmaga ega bo`lish.
Masalani qo`yilishi: Berilgan predmet soha ma`lumotlar bazasidagi barcha ob`yektlarni ustida ‘join’ asosida amallarini bajarish.
Uslubiy ko`rsatmalar: Ichki birlashish, INNER JOIN
INNER JOIN - bu ikkita jadval orasidagi ichki birlashish operatori. Bu nosimmetrikdir, shuning uchun operator uchun jadvallarning tartibi muhim emas.
INNER JOIN asosiy va birlashgan jadvallardagi yozuvlar o'rtasida yozishmalar mavjud bo'lgan satrlarni olish uchun ishlatiladi. Natijani yaratish algoritmi: asosiy jadvalning har bir qatori birlashtirilgan jadvalning har bir satriga joylashtirilgan. Shundan so'ng, ulanish holati tekshiriladi. Agar shart to'g'ri bo'lsa, natijalar to'plamiga "ulangan" qator qo'shiladi.
select * from tovarlar;
+ + +
| id | Nomi |
+ + +
| 1 | Kitob |
| 2 | Stul |
| 3 | Qalam |
+ + +
select * from izoh;
+ + +
| id | Izoh |
+ + +
| 1 | Badiy kitob |
| 3 | Qizil qalam |
| 5 | Yumshoq ayiqcha |
+ + +
SELECT * FROM tovarlar INNER JOIN izoh ON tovarlar.ID = izoh.ID;
+ + + + +
| id | Nomi | id | Izoh |
+ + + + +
| 1 | Kitob | 1 | Badiy kitob |
| 3 | Qalam | 3 | Qizil qalam |
+ + + + + 2 rows in set (0.00 sec)
FULL JOIN
SELECT *
-> FROM tovarlar right JOIN izoh
-> ON tovarlar.ID = izoh.ID
-> union
-> SELECT *
-> FROM tovarlar left JOIN izoh
-> ON tovarlar.ID = izoh.ID;
+ + + + +
| id | Nomi | id | Izoh |
+ + + + +
| 1 | Kitob | 1 | Badiy kitob |
| 3 | Qalam | 3 | Qizil qalam |
| NULL | NULL | 5 | Yumshoq ayiqcha |
| 2 | Stul | NULL | NULL |
+ + + + + 4 rows in set (0.07 sec)
SELECT *
-> FROM tovarlar left JOIN izoh
-> ON tovarlar.ID = izoh.ID
-> union all
-> SELECT *
-> FROM tovarlar right JOIN izoh
-> ON tovarlar.ID = izoh.ID;
+ + + + +
| id | Nomi | id | Izoh |
+ + + + +
| 1 | Kitob | 1 | Badiy kitob |
| 3 | Qalam | 3 | Qizil qalam |
| 2 | Stul | NULL | NULL |
| 1 | Kitob | 1 | Badiy kitob |
| 3 | Qalam | 3 | Qizil qalam |
| NULL | NULL | 5 | Yumshoq ayiqcha |
+ + + + + 6 rows in set (0.05 sec)
LEFT JOIN
SELECT * FROM tovarlar left JOIN izoh ON tovarlar.ID = izoh.ID;
+ + + + +
| id | Nomi | id | Izoh |
+ + + + +
| 1 | Kitob | 1 | Badiy kitob |
| 3 | Qalam | 3 | Qizil qalam |
| 2 | Stul | NULL | NULL |
+ + + + +
RIGHT JOIN
SELECT *FROM tovarlar right JOIN izoh ON tovarlar.ID = izoh.ID;
+ + + + +
| id | Nomi | id | Izoh |
+ + + + +
| 1 | Kitob | 1 | Badiy kitob |
| 3 | Qalam | 3 | Qizil qalam |
| NULL | NULL | 5 | Yumshoq ayiqcha |
+ + + + + 3 rows in set (0.00 sec)
CROSS JOIN
SELECT * FROM tovarlar CROSS JOIN izoh;
+ + + + +
| id | Nomi | id | Izoh |
+ + + + +
| 1 | Kitob | 1 | Badiy kitob |
| 2 | Stul | 1 | Badiy kitob |
| 3 | Qalam | 1 | Badiy kitob |
| 1 | Kitob | 3 | Qizil qalam |
| 2 | Stul | 3 | Qizil qalam |
| 3 | Qalam | 3 | Qizil qalam |
| 1 | Kitob | 5 | Yumshoq ayiqcha |
| 2 | Stul | 5 | Yumshoq ayiqcha |
| 3 | Qalam | 5 | Yumshoq ayiqcha |
+ + + + + 9 rows in set (0.00 sec)
Do'stlaringiz bilan baham: |