INNER JOIN
INNER JOIN kalit so'zi ikkala jadvalda mos keluvchi qiymatlar bo'lgan yozuvlarni tanlaydi.
SQL INNER JOIN
INNER JOIN kalit so'zi ikkala jadvalda mos keluvchi qiymatlar bo'lgan yozuvlarni tanlaydi.
Keling, Products jadvalidan bir tanlovga qaraymiz:
ProductID | ProductName | CategoryID | Price |
---|---|---|---|
1 | Chais | 1 | 18 |
2 | Chang | 1 | 19 |
3 | Aniseed Syrup | 2 | 10 |
Va Categories jadvalidan bir tanlov:
CategoryID | CategoryName | Description |
---|---|---|
1 | Beverages | Soft drinks, coffees, teas, beers, and ales |
2 | Condiments | Sweet and savory sauces, relishes, spreads, and seasonings |
3 | Confections | Desserts, candies, and sweet breads |
Biz Products jadvalini Categories jadvali bilan, ikkala jadvaldagi CategoryID maydoni orqali birlashtiramiz:
Misol
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
Ustunlarni Nomlash
SQL bayonotida ustunlarni ko'rsatishda jadval nomini kiritish yaxshi amaliyotdir.
Misol
Jadval nomlarini aniqlang:
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:
Uchta Jadvalni JOIN Qilish
Quyidagi SQL bayonoti barcha buyurtmalarni mijoz va yuk tashuvchi ma'lumotlari bilan tanlaydi:
Bu Shippers jadvali:
ShipperID | ShipperName | Phone |
---|---|---|
1 | Speedy Express | (503) 555-9831 |
2 | United Package | (503) 555-3199 |
3 | Federal Shipping | (503) 555-9931 |