Inner Join در SQL Server
کویری INNER JOIN برای بازیابی رکوردهای منطبق از دو یا چند جدول بر اساس شرایط مشخص شده استفاده می شود. SQL Server از استانداردهای SQL برای کویری های اتصال داخلی یا همان inner join پیروی می کند.
سینتکس آن به صورت زیر است.
برای تفهیم بیشتر، از جداول Employee و Department زیر در همه مثال ها استفاده خواهیم کرد.
جدول Employee :
جدول Department :
کویری inner join زیر را در نظر بگیرید.
کویری inner join بالا جدول Employee و جدول Department را به هم پیوند می دهد و رکوردها را از هر دو جدول که در آن Employee.DepId = Department.DepId بازیابی می کند. این اتصال، رکوردها را از هر دو جدول بیرون می کشد که در آن DeptId از جدول Employee با DeptId از جدول Department مطابقت دارد. اگر مقدار DeptId برابر با NULL باشد یا مطابقت نداشته باشد، آن رکوردها را بازیابی نخواهد کرد. آنچه که در زیر می بینید نتیجه کویری بالا است.
توجه داشته باشید که این فقط رکوردهایی را نشان می دهد که DeptId آنها مطابقت دارد، نه اینکه DeptId آنها تهی باشد یا مطابقت نداشته باشد.
مهم نیست که کدام جدول را در اول کویری قرار می دهید. کویری زیر همان نتیجه یکسان بالا را نمایش می دهد.
استفاده از عبارت INNER JOIN اجباری نیست. می توانید از عبارت WHERE برای دستیابی به همان نتیجه مانند شکل زیر استفاده کنید.
همانطور که در زیر نشان داده شده است، می توانید از نام مستعار به صورت shortcut برای نام جداول استفاده کنید.
دستور INNER JOIN.. ON را تکرار کنید تا یک جدول دیگر در کویری لحاظ شود. به عنوان مثال، کویری inner join زیر سه جدول را به هم پیوند می دهد.