SQL INNER JOIN


baham ko'ring

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.

SQL INNER JOIN

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!