کافه‌تدریس

متداول‌ترین سوالات مصاحبه SQL و بهترین روش‌ها برای پاسخگویی

SQL job interview questions

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

فهرست مطالب پنهان‌کردن فهرست

سوالات مصاحبه SQL در سطح مقدماتی

ابتدا از سطح مقدماتی شروع کنیم. سوالات مصاحبه SQL در سطح مقدماتی می‌تواند این نمونه‌ها را در بر گیرد:

JOIN چیست؟

JOIN یک عبارت SQL است که برای ترکیب و بازیابی رکوردها از دو یا چند جدول استفاده می‌شود. جدول‌های SQL می‌توانند براساس رابطه میان ستون‌های آن جدول‌ها به هم متصل شوند. این رابطه معمولاً براساس کلیدهای خارجی (Foreign Keys) و اولیه (Primary Keys) ایجاد می‌شود. انواع مختلف JOIN شامل Inner Join ،Left Join ،Right Join و Full Join هستند که هر یک نحوه خاصی از ترکیب داده‌ها را فراهم می‌کنند؛ برای مثال، Inner Join فقط رکوردهایی را باز می‌گرداند که در هر دو جدول مطابق با شرط Join باشند، درحالی‌که Left Join تمامی رکوردهای جدول سمت چپ و رکوردهای مطابقت‌یافته از جدول سمت راست را برمی‌گرداند.

استفاده از JOIN به تحلیل‌گران داده و برنامه‌نویسان این امکان را می‌دهد تا از داده‌های چندین جدول به‌صورت یکپارچه و مؤثر بهره‌برداری کنند.

انواع اصلی JOIN کدام‌اند؟

۶ نوع اصلی JOIN وجود دارد:

تفاوت میان LEFT JOIN و RIGHT JOIN چیست؟

LEFT JOIN تمامی رکوردها از سمت چپ و ردیف‌های مطابق از جدول سمت راست را شامل می‌شود، درحالی‌که RIGHT JOIN تمامی ردیف‌ها از سمت راست و ردیف‌های نامطابق از جدول سمت چپ را باز می‌گرداند. در اصل، هر دو join همان نتیجه را می‌دهند اگر ترتیب جداول را معکوس کنیم، به‌شرطی که فقط دو جدول درگیر باشند.

چرا JOIN در مدیریت SQL مهم است؟

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

Outer JOIN چیست؟

Outer JOIN جوین‌هایی هستند که مقدارهایی مطابق و نامطابق از هر دو جدول را باز می‌گردانند. LEFT JOIN ،RIGHT JOIN و FULL JOIN به‌عنوان Outer JOIN در نظر گرفته می‌شوند.

هدف از استفاده از Alias در SQL Joins چیست؟

با پیچیده‌ترشدن کوئری‌ها نام‌ها می‌توانند طولانی و ناپسند شوند. برای کمک به روشن‌ترشدن موضوع می‌توانیم از Alias (نام مستعار) برای اختصاص نام‌های جدید به آیتم‌ها در کوئری استفاده کنیم، ازجمله ستون‌ها و جداول. برای دادن یک Alias به یک شیء می‌توانیم از عبارت AS استفاده کنیم.

پیشنهاد می‌کنیم با سوالات مصاحبه تبلو هم آشنا شوید.

سوالات مصاحبه SQL در سطح پیشرفته

نمونه سوالات مصاحبه SQL در سطح پیشرفته از این قرار است:

EQUI JOIN چیست؟

EQUI JOIN نوعی عملیات JOIN در پایگاه داده است که ردیف‌ها را از دو یا چند جدول براساس یک شرط همسان‌سازی با استفاده از عملگر تساوی (=) ترکیب می‌کند. این JOIN برای بازیابی داده‌هایی که مقدارهایی در ستون‌های مشخص برابر هستند استفاده می‌شود.

EQUI JOIN همان نتایج INNER JOIN را با نحوی متفاوت بازمی‌گرداند، همان‌طور که در این مثال نشان داده شده است:

تفاوت میان کلمه کلیدی ON و USING در JOIN چیست؟

معمولاً از کلمه کلیدی ON برای تعیین ستون‌های مشترک در دو جدول هنگام استفاده از JOIN استفاده می‌شود. اگر ستون‌های مورداستفاده برای JOIN در هر دو جدول نام یکسانی داشته باشند، می‌توانید به‌جای ON از USING به‌عنوان یک خلاصه‌نویسی استفاده کنید؛ برای مثال، اگر جداول COURSES و TECHNOLOGIES یک ستون مشترک به‌نام technology_id داشته باشند، می‌توانید از این کوئری استفاده کنید:

NATURAL JOIN چیست؟

NATURAL JOIN برای ایجاد JOIN براساس ستون‌های مشترک در دو جدول استفاده می‌شود. ستون‌های مشترک ستون‌هایی هستند که در هر دو جدول نام یکسانی دارند. با استفاده از مثال سؤال قبلی، می‌توانیم همان کوئری را به‌این صورت بنویسیم:

تفاوت میان JOIN و UNION چیست؟

JOIN برای ترکیب داده‌ها به‌صورت ستون‌های جدید براساس ستون‌های مشترک در دو یا چند جدول استفاده می‌شود؛ درمقابل، UNION برای ترکیب داده‌ها به‌صورت ردیف‌های جدید، براساس نتیجه دو یا چند عبارت SELECT استفاده می‌شود؛ به‌عبارت دیگر، UNION برای اتصال داده‌ها به‌صورت ردیفی استفاده می‌شود. برای جلوگیری از خطا، هر عبارت SELECT در UNION باید تعداد ستون‌های یکسانی داشته باشد و ستون‌ها باید انواع داده‌های مشابه داشته باشند.

نیمه‌جوین (semi-join) چیست؟

کوئری‌های نیمه‌جوین معمولاً به‌صورت زیرکوئری اجرا می‌شوند که در آن ردیف‌ها تنها از جدول اول (چپ) انتخاب می‌شوند، مشروط بر آنکه شرط (یا مجموعه شرایط) در جدول دوم تطبیق داده شود. برخلاف جوین‌های معمول که ردیف‌های تطبیقی را از هر دو جدول شامل می‌شوند، نیمه‌جوین فقط ستون‌های جدول چپ را در نتیجه نهایی درج می‌کند.

Anti-join چیست؟

Anti-joins که به‌نام anti-semi-joins نیز شناخته می‌شوند، برخلاف semi-joins عمل می‌کنند. در Anti Join ردیف‌هایی از جدول اول انتخاب می‌شوند که شرط (یا مجموعه‌ای از شرایط) در جدول دوم را برآورده نمی‌کنند.

تفاوت میان عبارت INTERSECT و INNER JOIN چیست؟

INNER JOIN داده‌ها را از چند جدول ترکیب می‌کند و نتیجه‌ای جامع ایجاد می‌کند که شامل آن ردیف‌ها یا رکوردهایی است که در هر دو جدول شرط تعریف‌شده برای JOIN را برآورده می‌کنند؛ درمقابل، INTERSECT روی ردیف‌های مشترک میان عبارات SELECT تمرکز می‌کند. INNER JOIN براساس یک ستون یا فیلد مشترک جداول را به هم متصل می‌کند، درحالی‌که INTERSECT براساس ساختار عبارت‌های SELECT کار می‌کند.

INNER JOIN اغلب یک مجموعه داده بزرگتر را که اطلاعات را از جداول مختلف ترکیب می‌کند بازمی‌گرداند، درحالی‌که INTERSECT یک مجموعه داده کوچک‌تر را تولید می‌کند که فقط ردیف‌های مشترک را شامل است.

چه نکاتی برای بهینه‌سازی عملکرد هنگام استفاده از CROSS JOINS باید در نظر گرفته شود؟

از آنجا که CROSS JOIN ترکیب جفتی هر ردیف از جدول اول با هر ردیف از جدول دوم را بازمی‌گرداند، این می‌تواند به ایجاد یک جدول بسیار بزرگ بینجامد، به‌ویژه اگر جدول‌هایی که به هم JOIN می‌شوند از قبل بزرگ باشند. برای بهینه‌سازی عملکرد هنگام استفاده از CROSS JOINS، این نکات را در نظر بگیرید:

منظور از JOIN شرطی چیست؟

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

تفاوت میان عبارات WHERE و ON در جوین‌های ‌SQL چیست؟

هدف از عبارت ON مشخص‌کردن شرایط JOIN است، به‌عبارت دیگر، تعریف نحوه پیوستن جدول‌ها. به‌طور خاص، شما تعریف می‌کنید که رکوردها چگونه باید مطابقت داده شوند؛ درمقابل، عبارت WHERE برای مشخص‌کردن شرایط فیلترکردن استفاده می‌شود، یعنی تعریف اینکه کدام ردیف‌ها باید در مجموعه نتایج نگه داشته شوند. یک JOIN که شامل یک شرط فیلترکردن باشد می‌تواند به‌عنوان یک JOIN شرطی در نظر گرفته شود.

پیشنهاد می‌کنیم درباره سوالات مصاحبه Power BI هم مطالعه کنید.

چند نکته و ترفند کلی

برای کمک به شما در موفقیت در مسیر به‌دست‌آوردن موقعیت شغلی و پاسخ به سوالات مصاحبه SQL بد نیست به این چند نکته و ترفند توجه کنید:

جمع‌بندی

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

پرسش‌های متداول

INNER JOIN و OUTER JOIN چه تفاوتی دارند؟

INNER JOIN فقط رکوردهای مطابقت‌یافته در هر دو جدول را بازمی‌گرداند، در حالی که OUTER JOIN شامل رکوردهای نامطابق نیز می‌شود.

چگونه می‌توان عملکرد کوئری‌های SQL را بهبود بخشید؟

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

SELF JOIN چیست؟

SELF JOIN برای ترکیب یک جدول با خودش استفاده می‌شود و نیاز به نام‌های مستعار برای جدول دارد.

کلیدهای خارجی در SQL چه مزایایی دارند؟

کلیدهای خارجی به ایجاد روابط بین جداول کمک کرده و از ورود داده‌های نامعتبر جلوگیری می‌کنند.

تفاوت UNION و UNION ALL چیست؟

UNION رکوردهای تکراری را حذف می‌کند، اما UNION ALL تمامی رکوردها را شامل می‌شود.

یادگیری تحلیل داده را از امروز شروع کنید!

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

مشاوران کافه‌تدریس به شما کمک می‌کنند مسیر یادگیری برای ورود به این حوزه را شروع کنید:

دوره جامع دیتا ساینس و ماشین لرنینگ

خروج از نسخه موبایل