اختبار: أثبت مهاراتك في SQL!
هل أنت من أنصار SQL؟ أم تفضل noSQL؟
اختبر أساسيات استعلامات SQL
هل تسبب الاعتماد على الـ ORM في تراجع مستواك التقني؟ لا تقلق، هذا فخ يقع فيه الكثير من المطورين.
ابدأ التحدي الآن لتثبت تمكنك من أساسيات استعلامات SQL! 👇
أي من استعلامات SQL التالية يسترجع الصفوف التي يكون فيها الاسم “John” بشكل صحيح؟
في SQL، تُستخدم علامة يساوي واحدة (=) للتحقق من المساواة في جملة WHERE وليس == أو === اللذان يُعدان من معاملات JavaScript.
الصيغة الصحيحة هي SELECT * FROM users WHERE name = 'John';.
ماذا تفعل COUNT(column_name) في SQL؟
تقوم COUNT(column_name) بحساب عدد القيم غير الفارغة (non-NULL) في عمود محدد. لحساب جميع الصفوف، بما في ذلك قيم NULL، استخدم COUNT(*).
يمكنك أيضاً استخدام COALESCE لضمان تعيين قيمة افتراضية بدلاً من NULL. شيء مثل: COUNT(COALESCE(column_name, 0)).
ماذا تفعل عملية LEFT JOIN في SQL؟
تُرجع عملية LEFT JOIN جميع الصفوف من الجدول الأيسر والصفوف المتطابقة من الجدول الأيمن، مع وضع قيمة NULL للصفوف غير المتطابقة في الجدول الأيمن.
ماذا يفعل الـ INNER JOIN في SQL؟
يقوم الـ INNER JOIN بإرجاع الصفوف التي يتطابق فيها شرط الربط بين الجدولين فقط. أما الصفوف التي لا تجد لها مقابلاً في الجدول الآخر، فلا يتم تضمينها في مجموعة النتائج.
ما هو الاستعلام الفرعي المرتبط (correlated subquery) في SQL؟
يتم تقييم الاستعلام الفرعي المرتبط مرة واحدة لكل صف من صفوف الاستعلام الخارجي. إنه يشير إلى أعمدة من الاستعلام الخارجي، مما يجعله يعتمد على كل صف.
ما هو الغرض من عبارة WITH (تعبير الجدول الشائع - CTE) في SQL؟
تُستخدم عبارة WITH أو ما يعرف بتعبير الجدول الشائع (CTE)، لتعريف مجموعة نتائج مؤقتة يمكن الرجوع إليها داخل الاستعلام الرئيسي. في PostgreSQL، يمكن إلحاق WITH بعبارات مثل SELECT أو INSERT أو UPDATE أو DELETE أو MERGE.
يساعد هذا في تحسين قابلية القراءة والصيانة للاستعلامات المعقدة.
بناء الجملة هو:
WITH cte_name AS (SELECT column_nameFROM table_name)SELECT *FROM cte_name;ماذا يفعل معامل IS NULL في SQL؟
يتحقق IS NULL مما إذا كان العمود المحدد يحتوي على قيمة NULL. بينما يتحقق IS NOT NULL من العكس تماماً.
ماذا يفعل معامل IN في SQL؟
يقوم معامل IN بتصفية الصفوف لتطابق أي قيم في قائمة محددة، وغالباً ما يُستخدم كبديل لشروط OR المتعددة.
بينما قد يعيد “صفوفاً فريدة” (وهو ما يفعله غالباً)، إلا أن هذا ليس غرضه الأساسي بالضرورة.
الفهرسة ليست مطلوبة هنا، رغم أنه من أفضل الممارسات بالتأكيد استخدام IN على عمود يحتوي على فهرس (Index)، ويفضل أن يكون فهرس UNIQUE لتحسين الأداء.
ما هو الغرض من جملة GROUP BY في SQL؟
تقوم جملة GROUP BY بتجميع الصفوف التي تحتوي على نفس القيم في أعمدة محددة، مما يسمح بتطبيق دوال التجميع (aggregate functions) على كل مجموعة بشكل مستقل.
ماذا يفعل الـ FULL OUTER JOIN في SQL؟
يقوم الـ FULL OUTER JOIN بإرجاع كافة الصفوف من كلا الجدولين، مع تعبئة الصفوف غير المتطابقة بقيم NULL للقيم المفقودة.
هذا مفيد لمقارنة جدولين والعثور على الاختلافات بينهما.