View Full Version : join کردن 2 جدول
irpersian20
سه شنبه 21 آذر 1391, 20:39 عصر
سلام
در جبر رابطه ای خوب ما 2 تا جدول رو join میکنیم وقتی نیاز به ارتباط بین این 2 جدول پیدا میکنیم
در sql کتابی بنده میخونم که اصلا دستور join رو توضیح نداده در قسمت sql .
و join رو فقط در جبر رابطه ای گفته
حالا سوال من اینه که آیا وقتی ما به 2 جدول نیاز درایم در sql
میزنیم مثلا نام را از 2 جدول برگردان ( برای مثال)
select name
from s,p
where S.s#=SPJ.s# a
a رو زدم که بیاد این رو جمله
حالا این با join فرق داره یا در اصل همان join هست و پاسخ فرقی نمیکنه؟ پس کی میریم سراغ join
مهدی هادیان2
پنج شنبه 23 آذر 1391, 07:53 صبح
بسم الله الرحمن الرحیم
با سلام
تفاوتش رو نمی دونم ولی اگه دو کوئری رو بنویسید
SELECT Cities.CityTitle,Provinces.ProvinceTitle
from Cities,Provinces
where Cities.ProvinceID=Provinces.ProvinceID
SELECT Cities.CityTitle,Provinces.ProvinceTitle
from Cities
inner join Provinces
on Cities.ProvinceID=Provinces.ProvinceID
و روی کوئری ها راست کلیک کنید و گزینه display estimated execution plan رو انتخاب کنید؛ خواهید دید که SQL پشت صحنه داره یک کار انجام می ده.
شاد و موفق باشید.
بهزاد علی محمدزاده
جمعه 24 آذر 1391, 14:18 عصر
سلام .
select name
from s,p
where S.s#=SPJ.s# a
با این کار ضرب دکارتی روی جدول ها اعمال میشه و تمام حالات ممکن رو بهت بر می گردونه و این یعنی کار اضافی و هزینه اش برای Database بالاست . اما با Join تکرار ها حذف میشه و بسیار بهینه تر از اولی خواهد بود .
دیگه من سر نخ و بهت دادم ، این مباحث و باید با دقت دنبال کرد . مثلا باید رفت دید ضرب دکارتی یعنی چی ؟ آیا ویدیو یا مطلبی پیدا میشه که بتونی مساله رو درک کنی ؟
به این میگن مطالعه عمیق و من آرزو دارم هر چه زودتر سنگینی درسهای دانشگاه تموم بشه و در این زمینه ها جدی مطالعه داشته باشم . پس اون دوستانی که معتقد هستند ما به ریاضیات احتیاج نداریم و فقط تابع فراخوانی می کنیم کجان که یه سری به این سوالات بزنن ببینیم بدون دانش ریاضی با این مسائل چطور برخورد کردن ؟
دوست من ، می بینی درک مفاهیم چقدر به بهینه عمل کردن سیستم کمک می کنه . برات آرزوی موفقیت دارم .
irpersian20
جمعه 24 آذر 1391, 14:23 عصر
سلام
اما ما where گذاشیم.
where S.s#=SPJ.s# a
و این دیگه ضرب دکارتی نمیکنه
درسته؟
بهزاد علی محمدزاده
جمعه 24 آذر 1391, 14:45 عصر
نه بازهم ضرب می کنه . اگر ضرب نشه پس چطوری ستون ها رو از دو جدول کنار هم قرار بده ؟
توی توضیحاتی که در ویکی پدیا اومده این دستور رو با join معادل دونسته . یه نگاه بنداز . لینک (http://en.wikipedia.org/wiki/Join_%28SQL%29)
من وقت نمی کنم کامل بخونم .
irpersian20
جمعه 24 آذر 1391, 23:14 عصر
پس اگر این طوری هست join هم چطوری میتونه 2 تا سون کنار هم بزاره؟
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.