آشنایی با JOIN ها: INNER JOIN، LEFT JOIN، RIGHT JOIN با مثالهای واقعی
فهرست مطالب
مقدمه
در دنیای پایگاه دادهها، توانایی ترکیب اطلاعات از جداول مختلف یک مهارت کلیدی است. در این مقاله به بررسی JOIN ها خواهیم پرداخت. JOIN ها ابزارهای مهمی در SQL هستند که به شما اجازه میدهند دادهها را از جداول مختلف بر اساس یک یا چند ستون مرتبط ترکیب کنید. ما به بررسی انواع مختلف JOIN، شامل INNER JOIN، LEFT JOIN و RIGHT JOIN خواهیم پرداخت و همچنین مثالهایی واقعی برای درک بهتر این عناوین ارائه خواهیم داد.
JOIN چیست؟
JOIN یک عملیات در SQL است که برای ترکیب ردیفهای دو یا چند جدول استفاده میشود. با استفاده از JOIN میتوانید دادههای مرتبط را از چندین جدول استخراج کرده و آنها را در یک نتیجه واحد نمایش دهید. این عمل باعث میشود که بتوانید پرسشهای پیچیدهتری را پاسخ دهید و اطلاعات را به ترتیب منطقی سازماندهی کنید.
INNER JOIN
INNER JOIN یکی از پرکاربردترین نوع JOIN ها است که فقط دادههایی که در دو جدول موجود هستند را برمیگرداند. اگر شرایط JOIN برقرار نباشد، آن ردیفها در نتیجه نهایی وارد نمیشوند.
ساختار کلی استفاده از INNER JOIN به صورت زیر است:
SELECT ستون1، ستون2
FROM جدول1
INNER JOIN جدول2
ON جدول1.ستون_مشترک = جدول2.ستون_مشترک;
مثال: فرض کنید دو جدول داریم: کاربران و سفارشات. ما میخواهیم تمامی کاربران و سفارشات آنها را نمایش دهیم:
SELECT کاربران.نام، سفارشات.شماره_سفارش
FROM کاربران
INNER JOIN سفارشات
ON کاربران.id = سفارشات.user_id;
LEFT JOIN
LEFT JOIN همه ردیفهای جدولی که در سمت چپ قرار دارد را برمیگرداند و اگر ردیفی از جدول سمت راست وجود نداشته باشد، مقادیر NULL برای آن ردیفها نمایش داده میشود.
ساختار LEFT JOIN به شکل زیر است:
SELECT ستون1، ستون2
FROM جدول1
LEFT JOIN جدول2
ON جدول1.ستون_مشترک = جدول2.ستون_مشترک;
مثال: در مثال قبلی، اگر بخواهیم تمام کاربران را به همراه سفارشاتشان نمایش دهیم، حتی اگر بعضی از کاربران دقیقاً هیچ سفارشی نداشته باشند، میتوانیم از LEFT JOIN استفاده کنیم:
SELECT کاربران.نام، سفارشات.شماره_سفارش
FROM کاربران
LEFT JOIN سفارشات
ON کاربران.id = سفارشات.user_id;
RIGHT JOIN
RIGHT JOIN مشابه LEFT JOIN است، با این تفاوت که همه ردیفهای جدول سمت راست را برمیگرداند و اگر ردیفی از جدول سمت چپ وجود نداشته باشد، مقادیر NULL برای آن ردیفها نمایش داده میشود.
ساختار RIGHT JOIN به شکل زیر است:
SELECT ستون1، ستون2
FROM جدول1
RIGHT JOIN جدول2
ON جدول1.ستون_مشترک = جدول2.ستون_مشترک;
مثال: اگر بخواهیم همه سفارشات را به همراه کاربرانی که آنها را ثبت کردهاند مشاهده کنیم، حتی اگر بعضی از سفارشات بدون کاربر باشند، میتوانیم از RIGHT JOIN استفاده کنیم:
SELECT کاربران.نام، سفارشات.شماره_سفارش
FROM کاربران
RIGHT JOIN سفارشات
ON کاربران.id = سفارشات.user_id;
مثالهای واقعی
برای درک بهترJOIN ها، بیایید یک سناریوی واقعی را بررسی کنیم. فرض کنید در پایگاهداده شما دو جدول به نامهای محصولات و کالاها وجود دارد. جدول محصولات شامل مشخصات محصولات و جدول کالاها شامل اطلاعات مربوط به موجودی آنها است.
مثال INNER JOIN:
SELECT محصولات.نام، کالاها.موجودی
FROM محصولات
INNER JOIN کالاها
ON محصولات.id = کالاها.product_id;
این کد تمامی محصولات و موجودیهای مربوط به آنها را نشان میدهد.
مثال LEFT JOIN:
SELECT محصولات.نام، کالاها.موجودی
FROM محصولات
LEFT JOIN کالاها
ON محصولات.id = کالاها.product_id;
در اینجا، حتی اگر برخی محصولات دارای موجودی نباشند، نام آنها هنوز نمایش داده میشود.
مثال RIGHT JOIN:
SELECT محصولات.نام، کالاها.موجودی
FROM محصولات
RIGHT JOIN کالاها
ON محصولات.id = کالاها.product_id;
این کد نشاندهنده همه کالاها خواهد بود، حتی اگر برخی از آنها بدون محصول باشند.
نتیجهگیری
در این مقاله، با JOIN ها در SQL آشنا شدیم و به بررسی INNER JOIN، LEFT JOIN و RIGHT JOIN پرداختیم. یادگیری نحوه استفاده درست از این JOIN ها میتواند کمک شایانی به بهینهسازی پرسشها و تجزیه و تحلیل دادهها کند. با تمرین و بکارگیری این فنون، میتوانید مهارتهای خود را در کار با پایگاهدادهها تقویت کنید و به تحلیلهای بهتری دست یابید.




