0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

در query های SQL در اکثر مواقع از LEFT JOIN استفاده می شود، می خواستم بدونم تفاوت آن با JOIN معمولی در چیست؟

با تشکر.

2 پاسخ

+3 امتیاز
قبل توسط (555 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ
Inner join فقط اشتراک دو جدول رو نشون میده

Left Join یا Right Join : علاوه بر اشتراک، رکوردهایی که در جدول اول یا دوم هستند ولی در دیگری نیستند رو هم نشون میده
+4 امتیاز
قبل توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط

اگر دو جدول مانند جداول زیر داشته باشیم که با یکدیگر رابطه دارند:

جدول مشتری (customer)
city name customer_id
tehran ali 1
shiraz hasan 2
mashhad omid 3
جدول سفارشات (order)
customer_id order_number order_id
3 3512 1
3 1988 2
2 2461 3
10 2321 4

LEFT JOIN تمامی رکورد های جدول سمت چپ (یعنی مشتری) را در خروجی query می آورد حتی اگر در جدول سمت راست (جدول سفارشات) هیچ کلید خارجی از آن وجود نداشته باشد.

برای مثال خروجی این query برابر است با:

	SELECT customer.name, order.order_number
	FROM customer
	LEFT JOIN order
	ON customer.customer_id = order.customer_id
customer.name order.order_number
omid 3512
omid 1988
hasan 2461
ali  

ویرایش: شاید عکس های زیر بتواند تفاوت ها را شفاف تر سازد (منبع w3schools)

سوال شده 11 سال قبل در برنامه نویسی توسط (1.1هزار امتیاز) تفاوت LEFT OUTER JOIN و LEFT JOIN در چیست؟

سوالات مشابه

+1 امتیاز
1 پاسخ 6.5هزار بازدید
0 امتیاز
1 پاسخ 556 بازدید
+2 امتیاز
1 پاسخ 3.2هزار بازدید
سوال شده 11 سال قبل در برنامه نویسی توسط kashi (7.2هزار امتیاز)
0 امتیاز
1 پاسخ 3.2هزار بازدید
0 امتیاز
1 پاسخ 1.3هزار بازدید
...