</>مدرسه زیب‌موجیاد بگیر، تمرین کن، بساز
مدرسهSQLدرس 12
درس 12 از 21 · ۴۰ دقیقه

وصل‌کردن جدول‌ها با INNER JOIN

یک مسئله واقعی را با «وصل‌کردن جدول‌ها با INNER JOIN» حل می‌کنیم و نتیجه را همان لحظه می‌بینیم.

۰امتیاز شما
نقشه این درس

بعد از این درس چه کاری می‌توانی انجام بدهی؟

  • JOIN ردیف‌های مرتبط را با شرط ON کنار هم می‌گذارد؛ INNER JOIN فقط جفت‌های موجود را نگه می‌دارد.
  • کد را اجرا و نتیجه را پیش‌بینی کنی
  • یک تغییر کوچک بدهی و اثرش را توضیح بدهی
  • خطای واقعی درس را بخوانی و برطرف کنی
نکته مهم برای شروع SQL

اگر برنامه اجرا نشد، از آخرین خط پیام خطا شروع کن؛ نام فایل و شماره خط معمولاً نزدیک‌ترین سرنخ‌اند.

چرا مهم است؟ JOIN ردیف‌های مرتبط را با شرط ON کنار هم می‌گذارد؛ INNER JOIN فقط جفت‌های موجود را نگه می‌دارد.

اولین تمرین تو: ایمیل مشتری را هم انتخاب کن. قبل از اجرا، خروجی تازه را در یک جمله بنویس.

توضیح ساده و قدم‌به‌قدم

از یک مثال کوچک شروع کن

JOIN ردیف‌های مرتبط را با شرط ON کنار هم می‌گذارد؛ INNER JOIN فقط جفت‌های موجود را نگه می‌دارد. کد زیر را در فایل «queries.sql» خودت تایپ و اجرا کن. بعد خروجی را با انتظار درس مقایسه کن.

1

۱. نمونه را اجرا کن

پیش از اجرا خروجی را حدس بزن و سپس تفاوت را یادداشت کن.

2

۲. کد را تغییر بده

ایمیل مشتری را هم انتخاب کن.

3

۳. خطا را عمداً بساز

حذف شرط ON حاصل‌ضرب ردیف‌ها می‌سازد و گزارش تکراری و بسیار بزرگ می‌شود. متن خطا و شماره خط را بخوان، علت را پیدا کن و فقط همان بخش را اصلاح کن.

نکته مهم

اگر برنامه اجرا نشد، از آخرین خط پیام خطا شروع کن؛ نام فایل و شماره خط معمولاً نزدیک‌ترین سرنخ‌اند.

مفهوم‌های اصلی

سه قطعه‌ای که باید بفهمی

وصل‌کردن جدول‌ها با INNER JOIN

JOIN ردیف‌های مرتبط را با شرط ON کنار هم می‌گذارد؛ INNER JOIN فقط جفت‌های موجود را نگه می‌دارد.

نتیجه قابل مشاهده

هر سفارش دارای مشتری معتبر با نام و مبلغ نمایش داده می‌شود.

خطایی که باید بشناسی

حذف شرط ON حاصل‌ضرب ردیف‌ها می‌سازد و گزارش تکراری و بسیار بزرگ می‌شود.

سناریوی واقعی

در سفارش فقط customer_id ذخیره شده اما گزارش نام مشتری را می‌خواهد.

فرض کن در سفارش فقط customer_id ذخیره شده اما گزارش نام مشتری را می‌خواهد. فعلاً قرار نیست کل برنامه را بسازیم؛ فقط همین نیاز را با چند خط کد حل می‌کنیم تا معلوم باشد هر خط چه کاری انجام می‌دهد.

بازی ساختن کد

قطعه‌ها را به ترتیب درست بچین

روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمه‌های جابه‌جایی هم می‌توانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.

مرحله ۲ از ۳ · مرتب‌کردن کد
بانک قطعه‌هاقطعه مناسب را انتخاب کن
ترتیب پاسخ تواز بالا به پایین اجرا می‌شود

    هنوز پاسخی بررسی نشده است.

    کارگاه تعاملی

    بررسی ساختار تمرین

    این صفحه کامپایلر کامل SQL نیست؛ ساختار تمرین را صادقانه بررسی می‌کند و خروجی مورد انتظار را نشان می‌دهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.

    queries.sql
    خروجیآماده
    یک بخش را تغییر بده و دکمه بررسی را بزن.
    بعد از هر تغییر، نتیجه را دوباره بررسی کن.
    تمرین هدایت‌شده

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

    دام‌های رایج

    این سه اشتباه را انجام نده

    1

    حذف شرط ON حاصل‌ضرب ردیف‌ها می‌سازد و گزارش تکراری و بسیار بزرگ می‌شود.

    2

    کپی‌کردن کد بدون اجرای مرحله‌به‌مرحله

    3

    تغییر چند قسمت هم‌زمان و گم‌شدن علت نتیجه

    سنجش چندمرحله‌ای

    با 5 سؤال مطمئن شو که مفهوم را گرفته‌ای

    سؤال 1 از 5

    خروجی درست این نمونه چیست؟

    سؤال 2 از 5

    چرا پیش از اجرا نتیجه را حدس می‌زنیم؟

    سؤال 3 از 5

    سرنخ خطای این درس چیست؟

    سؤال 4 از 5

    بعد از تغییر کد چه کنیم؟

    سؤال 5 از 5

    چه وقت آماده درس بعدی هستی؟

    پایان درس 12

    فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟

    فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.