ترکیب JOIN در SQL Server برای ساخت یک مجموعه ی نتیجه ی مجزا از بیشتر از یک جدول استفاده می شود. در پایه ترین سطح دو جدول براساس یک مجموعه ی متداول بین جدول ها به هم متصل می شوند. اتصالات به روش های مختلفی کد گذاری می شوند، اما در این مثال ما از منطق INNER JOIN برای بازگردانی ردیف های هماهنگ شده از هر دو جدول استفاده می کنیم. جدول های مشمول در منطق JOIN در عبارت FROM مشخص می شوند. یک وضعیت ON برای نشان دادن ستون های هماهنگ استفاده می شود. اجازه بدهید به بررسی مسئله بپردازیم.
توضیحات:
اجازه بدهید از همان query استفاده شده در آموزش قبل با کمی اصلاحات متفاوت برای عبارت FROM استفاده کنیم. در مثال زیر ستون هایی را از پنج جدول متفاوت انتخاب می کنیم تا نشان دهیم که داده از هر جدول در منطق JOIN بازگردانده می شود. در مثال زیر این جدول ها را به هم متصل می کنیم.
1 2 3 4 5 | HumanResources.Employee HumanResources.EmployeeAddress Person.Address Person.StateProvince <button></button> |
در هر کدام از این محیط ها تشخیص دهنده های مجزا بین جدول ها در عبارت ON استفاده می شوند تا برای بازگرداندن ردیف های هماهنگ اتصال بین جدول ها را برقرار کنند.
همانطور که مشاهده می کنید، نام مستعار گذاشتن مهم می باشد، زیرا این مسئله کد را کوتاه کرده و تایپ کردن را برای هر ستون مشخص شده در منطق SELECT، FROM، JOIN، WHERE، و ORDERED BY به طور قابل ملاحظه ای کوتاه می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | USE AdventureWorks; GO SELECT E.EmployeeID, E.LoginID AS 'Domain\LoginName' , E.HireDate, EA.AddressID, A.AddressID, A.AddressLine1, A.AddressLine2, A.City, S.[ Name ] AS 'State' , A.PostalCode FROM HumanResources.Employee E INNER JOIN HumanResources.EmployeeAddress EA ON E.EmployeeID = EA.EmployeeID INNER JOIN Person.Address A ON EA.AddressID = A.AddressID INNER JOIN Person.StateProvince S ON A.StateProvinceID = S.StateProvinceID WHERE E.VacationHours = 8 ORDER BY E.HireDate; GO<button></button> |
در زیر نمونه ی مجموعه نتیجه را مشاهده می کنید:

در صورت تمایل جهت بررسی و آموزش پایگاه داده اوراکل کلیک کنید: آموزش اوراکل