INNER JOIN

INNER JOIN kalit so'zi ikkala jadvalda mos keluvchi qiymatlar bo'lgan yozuvlarni tanlaydi.

SU

SQL INNER JOIN

INNER JOIN kalit so'zi ikkala jadvalda mos keluvchi qiymatlar bo'lgan yozuvlarni tanlaydi.

Keling, Products jadvalidan bir tanlovga qaraymiz:

ProductIDProductNameCategoryIDPrice
1Chais118
2Chang119
3Aniseed Syrup210

Va Categories jadvalidan bir tanlov:

CategoryIDCategoryNameDescription
1BeveragesSoft drinks, coffees, teas, beers, and ales
2CondimentsSweet and savory sauces, relishes, spreads, and seasonings
3ConfectionsDesserts, candies, and sweet breads

Biz Products jadvalini Categories jadvali bilan, ikkala jadvaldagi CategoryID maydoni orqali birlashtiramiz:

Misol

SELECT ProductID, ProductName, CategoryName
FROM Products
INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID;
SQL JOIN

SQL INNER JOIN

Eslatma

INNER JOIN kalit so'zi faqat ikkala jadvalda moslikka ega bo'lgan satrlarni qaytaradi. Bu shuni anglatadiki, agar sizda CategoryID mavjud bo'lmagan yoki Categories jadvalida mavjud bo'lmagan CategoryID ga ega bo'lgan mahsulot bo'lsa, u holda ushbu yozuv natijada qaytarilmaydi.

Sintaksis

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

Ustunlarni Nomlash

SQL bayonotida ustunlarni ko'rsatishda jadval nomini kiritish yaxshi amaliyotdir.

Misol

Jadval nomlarini aniqlang:

SELECT Products.ProductID, Products.ProductName, Categories.CategoryName
FROM Products
INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID;

Yuqoridagi misol jadval nomlarini aniqlamasdan ham ishlaydi, chunki ko'rsatilgan ustun nomlarining hech biri ikkala jadvalda ham mavjud emas. Agar siz SELECT bayonotiga CategoryID ni qo'shishga harakat qilsangiz, siz jadval nomini ko'rsatmasangiz xato olasiz (chunki CategoryID ikkala jadvalda ham mavjud).

JOIN yoki INNER JOIN

JOIN va INNER JOIN bir xil natijani qaytaradi.

INNER JOIN JOIN ning standart turidir, shuning uchun siz JOIN ni yozganingizda, parser aslida INNER JOIN ni yozadi.

Misol

JOIN INNER JOIN bilan bir xil:

SELECT Products.ProductID, Products.ProductName, Categories.CategoryName
FROM Products
JOIN Categories ON Products.CategoryID = Categories.CategoryID;

Uchta Jadvalni JOIN Qilish

Quyidagi SQL bayonoti barcha buyurtmalarni mijoz va yuk tashuvchi ma'lumotlari bilan tanlaydi:

Bu Shippers jadvali:

ShipperIDShipperNamePhone
1Speedy Express(503) 555-9831
2United Package(503) 555-3199
3Federal Shipping(503) 555-9931

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);

Ushbu sahifada

Xato haqida xabar berish