%45 تخفیف، با کد daneshjoo روی تمام آموزش ها، بمناسبت روز دانشجو
زمان باقی مانده (تمدید شد)
سبد (0)

تبلیغات

عبارت right join در SQL

عبارت RIGHT JOIN

Wiki

 کلید واژه RIGHT JOIN تمام سطرهای جدول سمت راست (table_name2) را برمی گرداند حتی اگر هیچ داده متناظری برای آن در جدول سمت چپ (table_name1) وجود نداشته باشد. 

فرم عبارت RIGHT JOIN:

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

در بعضی از پایگاه داده ها RIGHT JOIN به شکل RIGHT OUTER JOIN می باشد.


مثال:

Wiki

جدول Persons:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

جدول Orders

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15

می خواهیم تمام سفارشات (orderها) را  لیست کنیم حتی اگر نام فردی در مقابل آن سفارش وجود نداشته باشد. 

از دستور زیر استفاده می کنیم:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

جدول نتایج به شکل زیر خواهد بود:

LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
    34764

کلید واژه RIGHT JOIN تمام سطرهای جدول سمت راست (Orders) را برمی گرداند حتی اگر هیچ داده متناظری برای آن در جدول سمت چپ (Persons) وجود نداشته باشد.

برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.

دیدگاه‌ها  

0 # nahid1 1395-12-12 15:33
در مثالی که در آموزش right join در SQL آورده اید کدام عبارت زیر صحیح است:
1- "حتی اگر برای سفارشی نامی نباشد "
2- یا این جمله درسته "این که حتی برای فردی سفارشی نباشد"؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1395-12-14 08:39
جلمه اول درست است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
-3 # امیرکیان 1395-04-20 21:01
مگر جوین بین دو جدول در مثال فوق به صورت زیر نیست
ON Persons.P_Id=Orders.P_Id
جایی که Pid ها برابر با هم باشند بین دو جدول
اما در نتیجه جوین مثال فوق در خروجی pid15 که فقط در جدول دوم است را هم آورده است که با شرط فوق نمیخواند
دلیلش چیست؟!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1395-04-22 20:03
با سلام.
قبل اینکه به سوال تون پرداخته بشه باید دقت کنید که از چه JOINی استفاده کردید؟ LEFT ، RIGHT یا INNER؟
خوب در مثال بالا ما از Right Join استفاده کرده ایم و همان طور که گفته شد، در چنین jOINای تمام ردیف های جدول سمت راستی در نتیجه آورده خواهد شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی SQL

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی