PDA

View Full Version : تفاوت inner join و where



hassan68
جمعه 25 مهر 1393, 00:11 صبح
سلام دوستان به طور کلی میشه بگید فرق های inner join و where تو چیا هست؟؟؟
کدومو استفاده کنم ؟

hamedarian2009
جمعه 25 مهر 1393, 08:38 صبح
سلام این دو ربطی به هم ندارن where برای گزاشتن شرط توی کوئری به کار میره و INNER JOIN هم پیوند میزنه به دوتا جدول و داده ها رو براساس اینکه در هردو جدول فیلد مشترکشون داده متناظر داره نشون میده

hassan68
جمعه 25 مهر 1393, 09:01 صبح
این دوتا چه فرقی میکنه


select a.id from table_a as a, table_b as b where a.id=b.id;
select a.id from table_a as a inner join table_b as b on a.id=b.id;

vahidqara
جمعه 25 مهر 1393, 09:26 صبح
دوستان توضیح دادند...
where شرط یک دستور می باشد حال join برای پیوند جداولی به کار میرود که در ارتباط با هم هستند.:لبخندساده:

hamedarian2009
جمعه 25 مهر 1393, 09:35 صبح
این دوتا چه فرقی میکنه


select a.id from table_a as a, table_b as b where a.id=b.id;
select a.id from table_a as a inner join table_b as b on a.id=b.id;

این دوتا کوئری هردو یک خروجی دارن و فکر نمیکنم تفاوت خاصی داشته باشن فقط به نظرم inner join برای کاربر خواناتره

captain_hamid
جمعه 25 مهر 1393, 09:41 صبح
این دوتا چه فرقی میکنه


select a.id from table_a as a, table_b as b where a.id=b.id;
select a.id from table_a as a inner join table_b as b on a.id=b.id;
همونطور که دوستان گقتن فرقش همونه.
اما شما در مواقعی که می خوان دو جدول رو که مثلا id های اون با هم ارتباط داره رو استخراج کنید میتونید از هر دو روشی که گفتین استفاده کنید که خروجی اونا یکسان هست.
تو این نمونه کد که شما گذاشتین join و where هر دو مثل شرط عمل میکنن. اما اگه به جای inner از outer استفاده کنین نتیجه خروجی با کوئری where ک نوشتین فرق خواهد کرد.