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

دیتابیس و اولین SELECT

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

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

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

  • SQL زبان پرسیدن و تغییر دادن داده در دیتابیس رابطه‌ای است؛ SELECT ستون‌های لازم و FROM جدول را مشخص می‌کند.
  • کد را اجرا و نتیجه را پیش‌بینی کنی
  • یک تغییر کوچک بدهی و اثرش را توضیح بدهی
  • خطای واقعی درس را بخوانی و برطرف کنی
به زبان زندگی واقعی

SQL را ساده بفهم

هر query یک پرسش دقیق از داده است؛ ستون، ردیف و رابطه باید روشن باشند.

نکته مهم برای شروع SQL

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

چرا مهم است؟ SQL زبان پرسیدن و تغییر دادن داده در دیتابیس رابطه‌ای است؛ SELECT ستون‌های لازم و FROM جدول را مشخص می‌کند.

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

کلاس پایه · بدون پیش‌نیاز

این درس را از چهار زاویه بفهم

قرار نیست چیزی را حفظ کنی. یک مفهوم را با چند تعبیر می‌بینی تا بالاخره تصویر ذهنی روشن خودت را بسازی.

1

خیلی ساده

SQL زبانی برای تبدیل فکر به دستورهای دقیق است. برنامه یک ورودی می‌گیرد، کاری روی آن انجام می‌دهد و نتیجه‌ای قابل مشاهده می‌سازد.

2

تشبیه اول: دستور کار

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

3

تشبیه دوم: خط تولید

داده وارد خط می‌شود، چند ایستگاه آن را تغییر می‌دهند و خروجی بیرون می‌آید. با بررسی هر ایستگاه می‌توانیم خطا را پیدا کنیم.

4

مدل فنی

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

مدل ذهنی ثابت برای همه برنامه‌ها
۱

ورودی

چه داده‌ای وارد می‌شود؟ نام، عدد، کلیک یا درخواست؟

۲

پردازش

برنامه چه قانون یا محاسبه‌ای را اجرا می‌کند؟

۳

خروجی

چه نتیجه‌ای باید ببینی و چطور درستی آن را می‌سنجی؟

خواندن کد، خط‌به‌خط

هر خط دقیقاً چه کاری انجام می‌دهد؟

از بالا به پایین بخوان. ابتدا توضیح را ببین، سپس همان خط را در کارگاه پایین صفحه تغییر بده.

  1. SELECT name, price

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

  2. FROM products;

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

واژه‌نامه خیلی ساده

کلمه‌هایی که نباید گنگ بمانند

کد

متنی با قواعد مشخص که کار مورد انتظار را برای کامپیوتر توضیح می‌دهد.

نحو یا Syntax

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

متغیر

یک نام خوانا برای نگه‌داشتن مقداری که بعداً لازم داریم.

خروجی

نتیجه قابل مشاهده‌ای که برای بررسی برنامه بیرون می‌آید.

استاد جواب می‌دهد

سه «چرا»ی مهم درس اول

چرا کامپیوتر خودش منظور من را حدس نمی‌زند؟

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

چرا از برنامه‌ای به این کوچکی شروع می‌کنیم؟

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

اگر خطا دیدم یعنی برای برنامه‌نویسی مناسب نیستم؟

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

تمرین پلکانی

از مشاهده تا نوشتن مستقل

هر مرحله فقط کمی سخت‌تر از مرحله قبل است؛ لازم نیست یک‌باره همه‌چیز را بلد باشی.

۱خیلی آسان

خروجی را حدس بزن

بدون اجرا، نتیجه نمونه را روی کاغذ بنویس. سپس آن را با نتیجه کارگاه مقایسه کن.

۲با راهنما

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

فقط نام یا عدد را عوض کن. توضیح بده کدام بخش خروجی باید تغییر کند و کدام بخش ثابت می‌ماند.

۳مستقل

یک خروجی تازه بساز

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

معیار موفقیت: هر محصول در یک ردیف و نام و قیمت در دو ستون نمایش داده می‌شود.

روش مطالعه این درس
  1. یک‌بار کد را فقط بخوان.
  2. خروجی را قبل از اجرا حدس بزن.
  3. فقط یک مقدار را تغییر بده.
  4. نتیجه را با یک جمله برای خودت توضیح بده.
توضیح ساده و قدم‌به‌قدم

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

SQL زبان پرسیدن و تغییر دادن داده در دیتابیس رابطه‌ای است؛ SELECT ستون‌های لازم و FROM جدول را مشخص می‌کند. کد زیر را در فایل «queries.sql» خودت تایپ و اجرا کن. بعد خروجی را با انتظار درس مقایسه کن.

1

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

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

2

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

ستون stock را هم به خروجی اضافه کن.

3

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

نوشتن نام جدول اشتباه خطای table does not exist یا no such table می‌دهد. متن خطا و شماره خط را بخوان، علت را پیدا کن و فقط همان بخش را اصلاح کن.

نکته مهم

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

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

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

دیتابیس و اولین SELECT

SQL زبان پرسیدن و تغییر دادن داده در دیتابیس رابطه‌ای است؛ SELECT ستون‌های لازم و FROM جدول را مشخص می‌کند.

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

هر محصول در یک ردیف و نام و قیمت در دو ستون نمایش داده می‌شود.

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

نوشتن نام جدول اشتباه خطای table does not exist یا no such table می‌دهد.

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

فروشگاه صدها محصول دارد و می‌خواهی فقط نام و قیمت آن‌ها را ببینی.

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

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

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

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

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

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

دام‌های رایج

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

1

نوشتن نام جدول اشتباه خطای table does not exist یا no such table می‌دهد.

2

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

3

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

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

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

سؤال 1 از 5

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

سؤال 2 از 5

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

سؤال 3 از 5

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

سؤال 4 از 5

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

سؤال 5 از 5

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

پایان درس 1

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

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