logo
logo
تبلیغ کلیکی تاپ سایت 98

آموزش دستور inner join و left join

آموزش دستور inner join و left join
هدایت عباسی آموزش sql

آموزش ویدئویی INNER JOIN

دانلود فیلم و آموزش ویدئویی INNER JOIN و LEFT JOIN در SQL و MYSQL همراه با مثال عملی بصورت روان .

چنانچه مشکلی در اجرای فیلم دارید از مرورگر فایرفاکس استفاده نمایید یا روی لینک زیر کلیک نمایید.

مشاهده یا دانلود فیلم بالا

در این بخش از آموزش sql , mysql به سراغ دستور inner join  و دستور left join در sql می رویم. اگر بخواهیم بین دو جدول ارتباط برقرار کنیم بایستی از inner join  استفاده کنیم. در این آموزش چندین حالت مختلف inner join را بررسی می کنیم.

این آموزش متعلق به تاپ سایت 98 می باشد.

با دیدن مثال زیر براحتی با کارکرد دستور inner join آشنا می شوید . حتما آموزش را تا آخر دنبال کنید. مثال و کدها تست شده است.

دستور inner join :

در این بخش با دستور inner join در sql , mysql آشنا می شویم.

برای اینکه با مفهوم join آشنا شویم یک مثال می زنیم.

دو جدول را در نظر بگیرید. مثلا در وردپرس دوجدول می تواند بصورت زیر باشد.

یک جدول posts که در آن پست ها قرار می گیرد. یک جدول categories که دسته ها در آن قرار می گیرد.

در جدول پست یک فیلد داریم بنام category_id که id دسته در آن قرار دارد ولی نام دسته وجود ندارد.

در تمام سایت های وردپرسی می بینید که در هر پست نام دسته مشاهده می شود.

برای این کار باید بین دو جدول یک ارتباط (join) برقرار کرد و سپس نام دسته را از آن استخراج کرد.

ما می خواهیم روش ارتباط دو جدول را به شما بیاموزیم. برای این کار از inner join استفاده می کنیم.

مثال زیر را ببینید. ابتدا از دستور select استفاده کرده ایم و با ستاره گفته ایم که همه رکوردها نمایش داده شود.

سپس from و نام جدول اول posts و سپس inner join و نام جدول دوم که دسته ها یا categories است.

سپس باید از یک فیلد مشترک استفاده کرد که همان id دسته است که با on مشخص شده است.

با استفاده از این کد براحتی یک ارتباط بین دو جدول ایجاد کردیم.

خروجی این مثال نمایش تمام رکوردها همراه با نام دسته است.

SELECT * FROM posts INNER JOIN categories ON posts.category_id = categories.id;

ساختار inner join :

در این قسمت ساختار inner join را مشاهده می کنید.

ساختار inner join به این صورت است که بین دو جدول قرار می گیرد و با کلمه ON فیلد مشترک را مشخص می کنیم.

کلمه ON مانند دستور where  میباشد که شرط را بررسی می کند.

SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

دستور inner join در mysql :

در این قسمت ، دستور inner join در mysql را به شکل دیگری توضیح می دهیم.

در مثال بالا ، از ستاره استفاده کردیم که تمام فیلدها را نمایش می داد . اگر بخواهیم فقط یک یا چند فیلد خاص نمایش داده شود مانند مثال زیر عمل می کنید.

بجای نوشتن ستاره از نام فیلد استفاده می کنیم.

مثال زیر تست شده است.

SELECT title , category FROM posts INNER JOIN categories ON posts.category_id = categories.id;

دستور left join :

ازدستور left join در sql , mysql برای ارتباط بین دو یا چند جدول استفاده می شود.

اما تفاوت هایی بین inner join , left join وجود دارد.

لطفا کمی دقت کنید تا خوب متوجه شوید.

فکر کنید در جدول posts یک رکورد وجود دارد که کد دسته ان در جدول دسته های نیست.

مثلا ما در جدول categories رکوردهایی به این شکل داریم:

  1. کامپیوتر
  2. موبایل

حال در نظر بگیرید اگر بخواهیم پستی را قرار دهیم باید حتما شماره دسته آن را 1 یا 2 قرار دهیم.

ولی فکر کنید ما پستی را با شماره دسته 3 وارد کرده ایم. در inner join این پست نمایش داده نمی شود. ولی در left join اطلاعات جدول posts بصورت کامل نمایش داده می شود. یعنی پست با کد دسته 3 نیز نمایش داده میشود.

چون نام جدول سمت چپ posts است و در اولویت است.

در inner join پست هایی که کد دسته 3 دارند نمایش داده نمی شود.

select * from posts left join categories on posts.category_id = categories.id;

امیدواریم این آموزش مورد توجه شما عزیزان قرار گرفته باشد

این سایت بفروش می رسد با سئو عالی و بازدید بالا. تماس بگیرید

اگر سوال یا نظری دارید در بخش کامنت ها بنویسید.اگر موضوع خاصی مد نظر شماست که در سایت موجود نیست در بخش کامنت ها بنویسید

دوره ارز دیجیتال تاپ سایت 98
دوره های آموزشی دوره های آموزشی

نظرات کاربران

از دیدگاه مرتبط با موضوع استفاده نمایید.

از تبلیغ سایت یا شبکه اجتماعی خودداری فرمایید.

برای پاسخ گویی بهتر در سایت ثبت نام نمایید و سپس سوال خود را مطرح فرمایید.

  • کامنت ناشناس

    2022-03-15 08:10:17

    سلام و درود خیلی ممنون بابت توضیحات ساده و کاملتون، مشکلم رو حل کرد.