SELECT Customers.cust_id, Orders.order_num FROM Customers INNER JOIN Orders ON Customers.cust_id = Orders.cust_id;
Tashqi birlashmaning sintaksisi shunga o'xshash. Barcha mijozlarning, shu jumladan hali buyurtma bermaganlarning ismlarini olish uchun siz quyidagilarni qilishingiz mumkin.
SELECT Customers.cust_id, Orders.order num FROM Customers LEFT OUTER JOIN Orders ON Customers.cust_id = Orders.cust_id;
Oldingi darsda muhokama qilgan ichki birlashmaga o'xshab, ushbu SELECT iborasi birlashma turini ko'rsatish uchun OUTER JOIN spetsifikatsiyasidan foydalanadi (WHERE bandida emas, FROM bandida). Biroq, ikkita jadval satrlarini bog'laydigan ichki birlashmalardan farqli o'laroq, tashqi birlashmalar natijada juft bo'lmagan qatorlarni ham o'z ichiga oladi. OUTER JOIN spetsifikatsiyasidan foydalanilganda, so‘rov natijalariga qatorlari kiritilgan jadvalni ko‘rsatish uchun LEFT yoki RIGHT kalit so‘zini ko‘rsatishingiz kerak (OUTER JOIN ning o‘ng tomonidagi jadval uchun RIGTH, chap tomonida joylashgan jadval uchun LEFT so'rov). Oldingi misol FROM bandining chap tomonida ko'rsatilgan jadvalning barcha qatorlarini olish uchun LEFT OUTER JOIN spetsifikatsiyasidan foydalanadi (Mijozlar jadvali).
O'ngdagi jadvaldan barcha satrlarni chiqarish uchun quyidagi misolda ko'rsatilganidek, RIGHT OUTER JOIN dan foydalaning.
SELECT Customers.cust_id, Orders.order_num FROM Customers RIGHT OUTER JOIN Orders ON Orders.cust_id = Customers.cust_id;
Tashqi birlashmaning yana bir varianti mavjud, to'liq tashqi birlashma, u ikkala jadvaldan barcha satrlarni chiqaradi va bog'lanishi mumkin bo'lganlarni bog'laydi. Faqat bitta jadvaldan bogʻlanmagan qatorlar paydo boʻlishiga olib keladigan chap va oʻng tashqi birlashmalardan farqli oʻlaroq, toʻliq tashqi birlashma natijada ikkala jadvaldagi bogʻliq boʻlmagan qatorlarni oʻz ichiga oladi. To'liq tashqi birikmaning sintaksisi quyidagicha.
|