۶ منبع فوق‌العاده برای یادگیری SQL پیشرفته

منتشرشده در towardsdatascience لینک مقاله اصلی: 6 Incredible Resources to Learn Advanced SQLکسانی که با SQL کار کرده‌اند، احتمالا می‌دانند که نوشتن کوئری‌های پایه‌ای چقدر ساده است و این چیزی است که آن را بسیار عالی می‌کند! اما SQL بسیار قدرتمندتر از این است. متاسفانه، اغلب منابع تنها به اصول SQL می‌پردازند، که باعث می‌شود پیشرفت مهارت SQL شما دشوار شود.با توجه به این مطلب، من توانستم منابع SQL متعددی را که می‌توانید از آن‌ها برای انتقال مهارت‌های SQL خود به سطح بالاتر استفاده کنید، در یک جا جمع کنم. من هیچ وقت یادگیری ساختاری برای SQL نداشتم-این چیزی بود که خودم یاد گرفتم. این منابع واقعا به ارتقا سطح مهارت‌های من کمک کردند. آن‌ها از نظر فایده از زیاد به کم رتبه‌بندی شده‌اند و اگر تا به حال این منابع را ندیده‌اید، باید تکنیک‌های جدید زیادی یاد بگیرید.من به شدت توصیه می‌کنم که از این منابع استفاده کنید چون آن‌ها مهارت‌ها و تکنیک‌های ضروری زیادی را پوشش می‌دهند که می‌توانند زندگی شما را به عنوان یک متخصص داده آسان‌تر کنند.با این گفته، در اینجا شش منبع آمده‌است که می‌توانید از آن‌ها برای ارتقاء سطح مهارت‌های SQL خود استفاده کنید!۱. سایت Zachary Thomas’ Quipمی‌خواهم کارم را با به اشتراک گذاشتن یک quip ایجاد شده توسط زاخاری توماس شروع کنم. این یک منبع شگفت‌انگیز است که مسائل عملی متعددی را در مورد برخی از ضروری‌ترین مفاهیم SQL ارائه می‌کند.برخی از چیزهایی که از این طریق یاد می‌گیرید شامل:پیوند (Self-joins)توابع پنجره (Window functions)ضرب دکارتی (Cross joins)۲. سایت Leetcodeسایت Leetcode یکی از بهترین منابعی است که به من در یادگیری حقه‌هایی که هرگز فکر نمی‌کردم ممکن باشد، کمک کرده‌است. این چیزی است که من به طور قابل‌توجهی در حین جستجوی شغلی از آن استفاده کردم و این منبعی است که همیشه به آن باز خواهم گشت.وبسایت Leetcode عالی است چون آن‌ها راه‌حل‌های مختلف و یک هیات بحث دارند که در آن می‌توانید در مورد راه‌حل‌ها و تکنیک‌های موثرتر یاد بگیرید.برخی چیزهایی که شما از طریق Leetcode یاد می‌گیرید عبارتند از:خود پیوندی (Self-joins)بیانیه‌های WHERE تودرتو (Nested WHERE statements)استفاده از بیانیه‌های HAVING به صورت خلاقانه (Using HAVING statements creatively)جداول پیوُت (Pivoting tables)۳. سایت Modeمنبع Mode یک راهنمای SQL گسترده، از SQL مبتدی تا SQL متوسطه و تا SQL پیشرفته ارائه می‌دهد. این یک منبع عالی برای دیدن چیزهایی که نمی‌دانید و انتخاب کردن این که چه چیزهایی را باید یاد بگیرید است. همچنین یک منبع عالی برای اصلاح تکنیک‌های قدیمی‌شده است.و به عنوان یک امتیاز اضافی، آن‌ها سه مطالعه موردی SQL عملی دارند که شما می‌توانید از آن‌ها برای کسب تجربه زندگی واقعی استفاده کنید.برخی از چیزهایی که می‌توانید یاد بگیرید عبارتند از:توابع رشته‌ای (String functions)کوئری‌های فرعی (Subqueries)توابع پنجره (Window functions)تنظیم عملکرد (Performance tuning)داده‌های پیوُت (Pivoting data)۴. منبع SQL Serverاگر می‌خواهید واقعا تکنیکی شوید، SQL Server منابع عمیقی در زمینه تکنیک‌هایی دارد که من شخصا تا به حال ندیده بودم!برخی از چیزهایی که یاد می‌گیرید شامل:نمایه‌سازی (Indexing)رویه‌های ذخیره‌شده (Stored procedures)توابع تعریف‌شده توسط کاربر (User-defined functions)تریگرها (Triggers)۵. منبع Use the Index Lukeدر صحبت از نمایه‌سازی، اگر می‌خواهید وارد جزئیات بسیار زیادی در مورد آن شوید، این منبع مهم است! من قصد ندارم دروغ بگویم، این منبع پر‌تراکم است و ممکن است ترسناک باشد، اما برای اینکه در صورت نیاز درباره هرکدام از موضوعات فرعی به آن مراجعه کنید، بسیار مفید است.برخی از چیزهایی که یاد می‌گیرید شامل:شاخص (index) چیست؟دسته‌بندی داده‌ها (Clustering Data)بیانیه WHERE (با جزئیات بسیار و خسته‌کننده)۶. سایت Hackerrankسایت Hackerrank نیز همانند Leetcode، ده‌ها مسئله عملی را ایجاد می‌کند که می‌توانید از آن‌ها برای یادگیری مهارت‌های جدید استفاده کنید. اگر می‌خواهید بر روی سوالات سخت تمرکز کنید، از تمام مشکلات آسان صرف‌نظر کنید!سخن پایانیامیدوارم که این منابع در سفر علم داده شما مفید واقع شوند. به طور خاص، شما باید بتوانید مهارت‌های SQL خود را تا حد زیادی بهبود بخشید، چرا که در هنگام انجام غواصی عمیق در داده‌ها، ایجاد دیدگاه‌های خودتان، اجرای ETL ها و غیره مهم خواهد بود.این متن با استفاده از ربات ترجمه مقاله علمی ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.