پیوند دو جدول از دو دیتابیس – MYSQL
مهندس طهماس زاده
این پست با مسیر متخصص MySQL مرتبط است. مشاهده مسیر (Roadmap)
فرض کنید شما به عنوان یک برنامه نویس در زمینه ی پایگاه داده می خواهید یک جدول از دیتابیس خودتان را با یک جدول از دیتابیس دیگر پیوند بزنید. به زبان دیگر شما نیازمند پیوند دو جدول از دو دیتابیس مختلف هستید! در ادامه همراه تاتژن باشید و از این مطلب کاربردی استفاده کنید.
پیوند دو جدول از دو دیتابیس :
هرچند باید به یاد داشته باشید نوشتن یک دیتابیس جدید و پیوند آن با دیتایس های دیگر نشان از بی کیفیتی و عدم دقت در کد زنی شماست. پس پیشنهاد می شود که تا حد امکان از نوشتن و استفاده دو دیتابیس خودداری کنید. مگر اینکه دیتابیس جدید از یک سیستم و یا یک سازمان جدید به شما داده شده است و شما مجبور به استفاده ی آن هستید.
در یکی از پست های گذشته به چگونگی پیوند زدن دو جدول در یک دیتابیس پرداختیم. ما دو جدول candid و Entekhabat را برای پیوند زدن انتخاب کردیم و اشاره کردیم که برای پیوند زدن دو جدول نیاز به اعمال شرط هست که با استفاده از کلمه ی ON می توانیم شرط مورد نظر خودمان را در برقرار کنیم.
صرفا جهت یادآوری: باید توجه داشته باشید که در جدول خروجی تنها داده هایی نمایش داده می شوند که مقدار آن ها شرط گفته شده را دارا باشند.
من برای مرور و یادآوری فقط کد پست گذشته که مربوط به پیوند بود را برای شما در زیر می آورم، تا در ادامه کد های دیگر را بهتر درک کنید.
SELECT * FROM Candid JOIN ray ON ray.CodeCandid = Candid.CodeCandid
حال به بررسی مبحث جدید می پردازیم:
به دو دیتابیس new_Schema و Vote که در زیر برای شما آورده ام نگاه کنید. این دو دیتابیس جدا از هم هستند و با استفاده از کد بالا نمی توان خروجی مطلوب را گرفت.
همانطور که مشاهده می کنید. در دیتابیس vote تنها یک جدول به نام entekhabat وجود دارد که می خواهیم با جدول candid از دیتابیس دیگر پیوند دهیم.
خروجی زیر نمایش داده های جدول entekhabat از دیتابیس vote است:
برای این کار باید دقت کنیم که در هنگام کدنویسی کدام یکی از دیتابیس ها انتخاب شده است، که در صورت انتخاب شدن یک دیتابیس نام آن به صورت Bold نمایش داده می شود. برای مثال در این دو جدول به نام جدول vote نگاه کنید، می بینید که به صورت bold شده نوشته شده است. به این معنی که در حال حاضر از این جدول استفاده می کنم.
برای استفاده از یک جدول از دیتابیس دیگر باید نام آن دیتابیس حتما قبل از نام جدول بیاید.
به کد زیر دقت کنید:
حال اگر ما از دیتابیس new_schema استفاده کنیم و بخواهیم دیتابیس vote را به عنوان دیتابیس دوم در نظر بگیریم کد ما به این شکل تغییر می کند:
SELECT * FROM candid C JOIN vote.entekhabat E ON C.CodeEntekhabat = E.CodeEntekhabat
واضح است که خروجی دو کد بالا مشابه است و تغییری در آن ایجاد نمی شود.
به پایان آموزش “پیوند دو جدول از دو دیتابیس” رسیدیم. امیدوار هستیم که این مطلب مورد توجه شما قرار گرفته باشد. شما می توانید سوالات و ابهامات خود را در بخش کامنت ها بنویسید.