SQL INNER JOIN
SQL INNER JOIN
INNER JOIN faqat ikkala jadvalda mos haroratlar bo‘lgan qatorlarni qaytaradi.
Maslahat: Siz INNER JOIN o‘rniga JOIN dan foydalanishingiz mumkin, chunki INNER standart birlashma turi hisoblanadi.

INNER JOIN sintaksisi
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
Eslatma: Sintaksis tegishli ustunga asoslangan ikkita jadvalni birlashtiradi,
va ON kalit so‘zi mos keladigan shartni belgilash uchun ishlatiladi.
INNER JOIN misoli
Mahsulotlar jadvalidagi mahsulotga qarang:
| ProductID | ProductName | CategoryID | Price |
|---|---|---|---|
| 3 | Aniseed Syrup | 2 | 10.00 |
Va Kategoriyalar jadvalidagi qatorga qarang:
| CategoryID | CategoryName | Description |
|---|---|---|
| 2 | Condiments | Sweet and savory sauces, relishes, spreads, and seasonings |
Bu yerda biz yuqoridagi ikkita jadval orasidagi tegishli ustun "CategoryID" ustuni ekanligini ko‘ramiz.
Endi biz CategoryID maydoni orqali "Mahsulotlar" jadvali va "Kategoriyalar" jadvalida INNER JOIN yaratamiz:
Misol
"Products" va "Categories" jadvallarini INNER JOIN kalit so‘zi bilan birlashtiring:
SELECT ProductID, ProductName, CategoryName
FROM Products
INNER JOIN
Categories ON Products.CategoryID = Categories.CategoryID;
O‘zingiz sinab ko‘ring »
Eslatma: INNER JOIN ikkala jadvaldagi faqat mos keladigan qatorlarni qaytaradi.
Bu shuni anglatadiki, agar CategoryID-ga ega bo‘lmagan yoki CategoryID-ga ega bo‘lmagan mahsulot bo‘lsa, u holda natijada bu qator qaytarilmaydi.
Ustunlarni nomlash
SQL birikmalarida ustunlarni belgilashda jadval nomini ham kiritish yaxshi amaliyotdir:
Misol
Ustun nomlari oldiga jadval nomini qo‘shing:
SELECT Products.ProductID, Products.ProductName, Categories.CategoryName
FROM Products
INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID;
O‘zingiz sinab ko‘ring »
Yuqoridagi misol jadval nomlarini ko‘rsatmasdan ishlaydi, chunki ularning hech biri
belgilangan ustun nomlari ikkala jadvalda ham mavjud.
Biroq, agar siz CategoryID ustunini qo‘shsangiz
SELECT operatorida, jadval nomini ko‘rsatmasangiz, xatolik yuz beradi.
Buning sababi, CategoryID ustuni ikkala jadvalda ham mavjud.
JOIN or INNER JOIN
JOIN va INNER JOIN bir xil natijani qaytaradi.
INNER - JOIN uchun standart ulanish turi,
shuning uchun JOIN yozganingizda tahlilchi aslida INNER JOIN yozadi.
Misol
JOIN va INNER JOIN bir xil:
SELECT Products.ProductID, Products.ProductName, Categories.CategoryName
FROM Products
JOIN Categories ON Products.CategoryID = Categories.CategoryID;
O‘zingiz sinab ko‘ring »
Bir nechta jadvalni JOIN qilish
So‘rovingizga bir nechta INNER JOIN bandlarini qo‘shish orqali ikkitadan ortiq jadvalga qo‘shilishingiz mumkin.
Quyidagi SQL mijoz va jo‘natuvchi ma’lumotlari bilan barcha buyurtmalarni tanlaydi:
Misol
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM
Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID;
O‘zingiz sinab ko‘ring »
Mana Shippers jadvali:
| ShipperID | ShipperName | Phone |
|---|---|---|
| 1 | Speedy Express | (503) 555-9831 |
| 2 | United Package | (503) 555-3199 |
| 3 | Federal Shipping | (503) 555-9931 |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
