+45 سؤال وجواب في مقابلات عمل SQL لعام 2026 (دليل شامل + اختبار)
📁 أحدث الأخبار التقنية

+45 سؤال وجواب في مقابلات عمل SQL لعام 2026 (دليل شامل + اختبار)

+45 سؤال وجواب في مقابلات عمل SQL لعام 2026 (بالأكواد + اختبار تفاعلي)

+45 سؤالاً وإجابة نموذجية لمقابلات SQL لعام 2026، مع اختبار استعداد شامل

أتذكر أول مقابلة عمل أجريتها في مجال قواعد البيانات — دخلت واثقاً من نفسي، لكن حين سألني المحاور عن الفرق بين INNER JOIN وLEFT JOIN مع مثال تطبيقي، تجمّدت للحظة. المشكلة لم تكن أنني لا أعرف الإجابة، بل لأنني لم أتدرب على صياغتها بوضوح تحت الضغط. من يومها، آمنت أن التحضير المنهجي لمقابلات SQL هو نصف النجاح.

في هذا الدليل، جمعت لك أكثر من 45 سؤالاً حقيقياً تُطرح في مقابلات عمل SQL — من الأسئلة الأساسية التي يطرحها كل محاور، إلى الأسئلة المتقدمة التي تميّز المرشح الاستثنائي. ستجد إلى جانب كل سؤال إجابة نموذجية مدعومة بأمثلة عملية، وفي نهاية الدليل اختبار استعداد كامل لقياس جاهزيتك الفعلية.

💡 لمن هذا الدليل؟ سواء كنت مطوراً يدخل سوق العمل لأول مرة، أو محترفاً يستعد للانتقال لوظيفة أفضل في مجال البيانات أو تطوير قواعد البيانات — هذا الدليل مصمم خصيصاً لك.

ما هي لغة SQL ولماذا تُسأل عنها في مقابلات العمل؟

SQL (Structured Query Language) هي لغة الاستعلام المعيارية للتعامل مع قواعد البيانات العلائقية (Relational Databases). صُمِّمت في الأصل في مختبرات IBM بالسبعينيات، وأصبحت اليوم المهارة الأكثر طلباً في إعلانات وظائف علم البيانات وتطوير البرمجيات والذكاء الاصطناعي على حدٍّ سواء.

السبب الذي يجعل كل شركة تقريباً تُدرج SQL في متطلبات وظائفها هو بساطة: كل بيانات الشركة مخزّنة في مكان ما، وشخص ما يحتاج لاستخراجها وتحليلها. من يستطيع كتابة استعلام SQL كفء ودقيق يوفّر على الشركة ساعات من العمل اليدوي.

المجال الوظيفي مستوى SQL المطلوب
محلل بيانات (Data Analyst) متوسط إلى متقدم
مطور خلفية (Backend Developer) أساسي إلى متوسط
مهندس بيانات (Data Engineer) متقدم
مطور قواعد بيانات (DBA) خبير
عالم بيانات (Data Scientist) متوسط

أسئلة SQL الأساسية (مستوى مبتدئ)

هذه الأسئلة تظهر في 90% من المقابلات بصرف النظر عن مستوى الوظيفة. لا تستهن بها — الخطأ فيها أمام المحاور يُعطي انطباعاً سيئاً حتى لو أجبت على الأسئلة المتقدمة بشكل صحيح.

1. ما الفرق بين DDL وDML وDCL وTCL؟

هذا السؤال يختبر فهمك للبنية الأساسية للغة SQL. إليك التصنيف الصحيح:

التصنيف الاسم الكامل الأوامر الرئيسية الوظيفة
DDL Data Definition Language CREATE, ALTER, DROP, TRUNCATE تعريف هيكل قاعدة البيانات
DML Data Manipulation Language SELECT, INSERT, UPDATE, DELETE التعامل مع البيانات
DCL Data Control Language GRANT, REVOKE إدارة صلاحيات المستخدمين
TCL Transaction Control Language COMMIT, ROLLBACK, SAVEPOINT إدارة المعاملات (Transactions)

2. ما الفرق بين DELETE وTRUNCATE وDROP؟

من أكثر الأسئلة التي تُفرّق بين المرشح المتمكن والمبتدئ:

الأمر ما يحذف؟ يمكن التراجع؟ يُطلق WHERE؟
DELETE صفوف محددة أو كل الصفوف نعم (ROLLBACK) نعم
TRUNCATE كل الصفوف فقط لا (في معظم الأنظمة) لا
DROP الجدول بالكامل مع هيكله لا لا

3. ما الفرق بين المفتاح الأساسي (Primary Key) والمفتاح الخارجي (Foreign Key)؟

المفتاح الأساسي (Primary Key) هو عمود أو مجموعة أعمدة تُعرّف كل صف تعريفاً فريداً في الجدول. لا يقبل قيم NULL ولا قيماً مكررة.

المفتاح الخارجي (Foreign Key) هو عمود في جدول يشير إلى المفتاح الأساسي في جدول آخر، وظيفته الحفاظ على التكامل المرجعي (Referential Integrity) بين الجداول.

-- جدول العملاء (Primary Key = CustomerID)
CREATE TABLE Customers (
  CustomerID INT PRIMARY KEY,
  Name VARCHAR(100)
);

-- جدول الطلبات (Foreign Key يشير لـ CustomerID)
CREATE TABLE Orders (
  OrderID INT PRIMARY KEY,
  CustomerID INT,
  FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

4. ما الفرق بين WHERE وHAVING؟

الخطأ الشائع الذي أراه هو استخدام WHERE مع دوال التجميع — وهذا يُسبب خطأً في التنفيذ.

  • WHERE: يُفلتر الصفوف قبل التجميع (GROUP BY). لا يمكن استخدامه مع دوال التجميع مثل SUM وCOUNT.
  • HAVING: يُفلتر النتائج بعد التجميع. يُستخدم مع دوال التجميع.
-- صحيح: HAVING مع دالة تجميع
SELECT Department, COUNT(*) AS EmpCount
FROM Employees
WHERE Salary > 3000           -- يُفلتر قبل التجميع
GROUP BY Department
HAVING COUNT(*) > 5;          -- يُفلتر بعد التجميع

5. ما الفرق بين UNION وUNION ALL؟

  • UNION: يجمع نتائج جملتَي SELECT ويُزيل التكرارات تلقائياً. أبطأ لأنه يقوم بعملية فرز وتصفية.
  • UNION ALL: يجمع النتائج دون إزالة التكرارات. أسرع ويُستخدم حين تثق أن البيانات غير مكررة.

أسئلة SQL المتوسطة

هذه الأسئلة تختبر قدرتك على التعامل مع بيانات حقيقية متعددة الجداول. من تجربتي، غالباً ما يُطلب منك كتابة الاستعلام مباشرة على ورقة أو شاشة.

6. اشرح أنواع JOIN مع مثال عملي

نوع الـ JOIN ماذا يُرجع؟
INNER JOIN الصفوف المتطابقة في كلا الجدولين فقط
LEFT JOIN كل صفوف الجدول الأيسر + المتطابق من الأيمن (NULL إن لم يوجد)
RIGHT JOIN كل صفوف الجدول الأيمن + المتطابق من الأيسر
FULL OUTER JOIN كل الصفوف من كلا الجدولين مع NULL للقيم غير المتطابقة
CROSS JOIN الضرب الديكارتي: كل صف مع كل صف
-- جلب جميع الموظفين مع أسماء أقسامهم (حتى من لا قسم لهم)
SELECT e.Name, d.DepartmentName
FROM Employees e
LEFT JOIN Departments d ON e.DeptID = d.DeptID;

7. ما هو الفهرس (Index) وكيف يُحسّن أداء الاستعلامات؟

الفهرس هو هيكل بيانات منفصل يُنشئه قاعدة البيانات على عمود معين لتسريع عمليات البحث، تماماً كفهرس الكتاب الذي يأخذك مباشرة للصفحة المطلوبة بدلاً من قراءة الكتاب كله.

  • Clustered Index: يُرتّب البيانات الفعلية في الجدول. يُسمح بفهرس واحد فقط لكل جدول.
  • Non-Clustered Index: هيكل منفصل يحتوي على مؤشرات للبيانات. يمكن إنشاء أكثر من واحد.
-- إنشاء فهرس على عمود البريد الإلكتروني
CREATE INDEX idx_email ON Customers(Email);

-- فهرس مركب على أكثر من عمود
CREATE INDEX idx_name_dept ON Employees(LastName, DeptID);
⚠️ تنبيه مهم: الفهرس يُسرّع القراءة لكنه يُبطئ الكتابة (INSERT/UPDATE/DELETE) لأن الفهرس يُعاد بناؤه في كل عملية تعديل. لا تُفرط في إنشاء الفهارس، ويمكنك مراجعة دليل فهارس SQL Server للمزيد.

8. ما هي التطبيع (Normalization) وما أشكاله؟

التطبيع هو عملية تنظيم الجداول في القاعدة للحد من التكرار وتحسين التكامل، والمفهوم مرتبط بشدة بـ تصميم قواعد البيانات. إليك الأشكال الرئيسية:

الشكل الشرط الأساسي
1NF — الشكل الأول كل خلية تحتوي على قيمة واحدة فقط (لا قوائم)
2NF — الشكل الثاني يحقق 1NF + كل عمود يعتمد كلياً على المفتاح الأساسي
3NF — الشكل الثالث يحقق 2NF + لا يوجد اعتماد متعدٍّ (Transitive Dependency)
BCNF نسخة محسّنة من 3NF لحالات استثنائية

9. ما هو الإجراء المخزّن (Stored Procedure) وما الفرق بينه وبين الدالة (Function)؟

الخاصية Stored Procedure Function
القيمة المُرجَعة قد يُرجع أو لا يُرجع يُرجع قيمة دائماً
الاستخدام في SELECT لا يمكن استخدامه داخل SELECT يمكن استخدامها داخل SELECT
تعديل البيانات (DML) نعم لا (في معظم الأنظمة)
معالجة الأخطاء يدعم TRY/CATCH لا يدعم

10. ما هو الـ View وما فوائده؟

الـ View هو جدول افتراضي مبني على استعلام SELECT. لا يخزّن بيانات فعلية، بل يُخزّن الاستعلام فقط ويُنفّذه في كل مرة تستدعيه.

-- إنشاء View يعرض الموظفين ذوي الراتب المرتفع
CREATE VIEW HighSalaryEmployees AS
SELECT Name, Salary, Department
FROM Employees
WHERE Salary > 10000;

-- الاستخدام كجدول عادي
SELECT * FROM HighSalaryEmployees;

فوائد الـ View: تبسيط الاستعلامات المعقدة، تحسين الأمان (إخفاء أعمدة حساسة)، وإعادة استخدام المنطق في أماكن متعددة.

أسئلة SQL المتقدمة

هذه الأسئلة تُميّز المرشح الاستثنائي. لاحظت أن الشركات التقنية الكبرى تُركّز كثيراً على هذه الجوانب تحديداً.

11. ما هي دوال النافذة (Window Functions) وكيف تختلف عن GROUP BY؟

دوال النافذة هي من أقوى ميزات SQL الحديثة وأكثرها طلباً في مقابلات الشركات الكبرى. الفرق الجوهري: GROUP BY تُلغي الصفوف الأصلية وتُدمجها، بينما دوال النافذة تُضيف نتيجة الحساب على كل صف دون دمج.

-- ترتيب الموظفين حسب الراتب داخل كل قسم
SELECT 
  Name,
  Department,
  Salary,
  RANK() OVER (PARTITION BY Department ORDER BY Salary DESC) AS SalaryRank
FROM Employees;

-- مجموع تراكمي (Running Total)
SELECT 
  OrderDate,
  Amount,
  SUM(Amount) OVER (ORDER BY OrderDate) AS RunningTotal
FROM Orders;

أشهر دوال النافذة: ROW_NUMBER()، RANK()، DENSE_RANK()، LAG()، LEAD()، NTILE(). ولمزيد من التعمق يمكنك قراءة التوثيق الرسمي لدوال النافذة في PostgreSQL.

12. ما هو الـ CTE (Common Table Expression) ومتى تستخدمه؟

الـ CTE هو استعلام مؤقت مُسمّى يمكن الإشارة إليه في الاستعلام الرئيسي. يُجعل الاستعلامات المعقدة أكثر قابلية للقراءة، وهو بديل أفضل للـ Subquery في أغلب الحالات.

-- مثال: إيجاد الموظفين الذين راتبهم أعلى من متوسط قسمهم
WITH DeptAvg AS (
  SELECT Department, AVG(Salary) AS AvgSalary
  FROM Employees
  GROUP BY Department
)
SELECT e.Name, e.Salary, d.AvgSalary
FROM Employees e
JOIN DeptAvg d ON e.Department = d.Department
WHERE e.Salary > d.AvgSalary;

13. ما هو الـ Subquery وما أنواعه؟

الـ Subquery هو استعلام متداخل داخل استعلام آخر. يأتي في ثلاثة أنواع رئيسية:

  • Scalar Subquery: يُرجع قيمة واحدة فقط، يُستخدم في SELECT أو WHERE.
  • Row Subquery: يُرجع صفاً واحداً من أعمدة متعددة.
  • Table Subquery (Correlated): يُرجع جدولاً كاملاً، يُستخدم في FROM.
-- Subquery في WHERE: موظفون بأعلى راتب
SELECT Name FROM Employees
WHERE Salary = (SELECT MAX(Salary) FROM Employees);

-- Correlated Subquery: الأداء أبطأ لأنه يُنفَّذ لكل صف
SELECT Name FROM Employees e
WHERE Salary > (
  SELECT AVG(Salary) FROM Employees 
  WHERE Department = e.Department
);

14. ما مفهوم ACID في قواعد البيانات؟

ACID هو مجموعة خصائص تضمن موثوقية المعاملات (Transactions) في قواعد البيانات:

الحرف المعنى التفسير العملي
A — Atomicity الذرية إما تنجح كل العمليات أو تفشل جميعاً
C — Consistency الاتساق البيانات تنتقل من حالة صحيحة إلى حالة صحيحة
I — Isolation العزل المعاملات المتزامنة لا تتأثر ببعضها
D — Durability الديمومة بعد COMMIT، البيانات محفوظة حتى في حالة العطل

15. كيف تُحسّن أداء استعلام SQL بطيء؟

من تجربتي، هذا السؤال يظهر كثيراً في مقابلات الشركات التي تتعامل مع بيانات ضخمة. الإجابة المثالية تتضمن عدة محاور:

  1. استخدم EXPLAIN / EXPLAIN ANALYZE لفهم خطة التنفيذ وتحديد الاختناقات.
  2. تأكد من وجود فهارس مناسبة على الأعمدة المستخدمة في WHERE وJOIN وORDER BY.
  3. تجنب SELECT * واستخدم فقط الأعمدة التي تحتاجها.
  4. استبدل Correlated Subqueries بـ JOIN أو CTE حين يكون ذلك ممكناً.
  5. استخدم LIMIT إذا كنت لا تحتاج كل النتائج دفعة واحدة.
  6. فكّر في Partitioning للجداول الضخمة جداً.

16. كيف تستخرج ثاني أعلى راتب للموظفين (2nd Highest Salary)؟

هذا السؤال هو الأشهر على الإطلاق في المقابلات (Whiteboard Questions). أفضل طريقة حديثة هي استخدام دوال النافذة (Window Functions):

-- الطريقة الحديثة (تتعامل مع الرواتب المتكررة بشكل صحيح)
WITH RankedSalaries AS (
  SELECT Salary, DENSE_RANK() OVER (ORDER BY Salary DESC) AS Rank
  FROM Employees
)
SELECT DISTINCT Salary FROM RankedSalaries WHERE Rank = 2;

-- الطريقة الكلاسيكية باستخدام الاستعلام المتداخل
SELECT MAX(Salary) FROM Employees
WHERE Salary < (SELECT MAX(Salary) FROM Employees);

17. ما هو هجوم حقن SQL (SQL Injection) وكيف تتفاداه؟

حقن SQL هو ثغرة أمنية ناتجة عن تمرير أوامر ضارة من المستخدم كجزء من الاستعلام ليتم تنفيذها بالقاعدة. الطريقة الذهبية لتفاديها هي دائماً استخدام الاستعلامات المُعاملية (Parameterized Queries) مثل (Prepared Statements) حيث يتم تمرير المتغيرات كبيانات فقط ولا تنفذ كأوامر برمجية.

18. كيف تحدث صفاً إن وُجد، وتضيفه إن لم يوجد (UPSERT)؟

في SQL Server أو Oracle، يُستخدم أمر MERGE، بينما في PostgreSQL يُستخدم ON CONFLICT:

-- مثال PostgreSQL (تحديث الطلبات بناءً على مُعرِّف العميل)
INSERT INTO Customers (ID, Name, TotalOrders)
VALUES (1, 'Ali', 5)
ON CONFLICT (ID) 
DO UPDATE SET TotalOrders = Customers.TotalOrders + 5;

19. ما هو الفرق بين بيئة OLTP و OLAP؟

هذا السؤال رئيسي لمهندسي البيانات: OLTP (Online Transaction Processing) مصممة للعمليات اليومية السريعة (تطبيع عالي Normalization، قراءة/كتابة سريعة)، مثل قاعدة بيانات متجر. أما OLAP (Online Analytical Processing) فهي مخصصة للتحليل ومستودعات البيانات (Data Warehouses المبنية غالبًا في بيئات الحوسبة السحابية) وتكون بنيتها مجهزة للقراءة السريعة للمعطيات الضخمة مثل هيكلة Star Schema أو Snowflake Schema.

ما الجديد في مقابلات SQL لعام 2026؟

لاحظت تحولاً جذرياً في طبيعة الأسئلة التي يطرحها مسؤولو التوظيف في 2026 مقارنة بالسنوات الماضية. إليك أبرز التطورات:

أ. الاعتماد على قواعد البيانات المتجهة (Vector Databases)

بسبب الطفرة في نماذج الذكاء الاصطناعي التوليدي، أصبح المتوقع من مطوري البيانات التعامل مع قواعد البيانات السحابية المتجهة (للبحث الدلالي و RAG) وإضافات مثل pgvector في PostgreSQL بدلاً من الاستعلامات التقليدية البسيطة فقط.

ب. مهارات مراجعة أكواد وكلاء الذكاء الاصطناعي (Agentic AI)

بدأت الشركات في اختبار مهارة "التنقيح". يتم عرض استعلام SQL تم توليده بواسطة أداة ذكاء اصطناعي (مثل Copilot أو ChatGPT)، ويُطلب منك اكتشاف الأخطاء الأمنية أو أخطاء الأداء (الـ N+1 Query Problem) فيه، فكن مستعداً.

ج. أداء الاستعلامات الضخمة (Big Data)

أدوات مثل BigQuery وSnowflake باتت المهيمنة على السوق. يجب أن تعرف متى تكون الفهارس مفيدة ومتى تسبب ضرراً، ومتى تستخدم بيئات التوزيع الموازية بدلاً من محركات القواعد العادية.

كُتيب أسئلة مقابلات SQL: أكثر من 45 سؤالاً وإجابة

في عالم تكنولوجيا المعلومات، تعتبر معرفة لغة الاستعلام أمراً أساسياً لأي محترف في مجال إدارة البيانات وقواعد البيانات. إذا كنت تستعد لإجراء مقابلة عمل في مجال قواعد البيانات، فالإلمام بلغة الاستعلام SQL يعتبر أمراً بالغ الأهمية.

لهذا السبب، أعددنا لك كُتيباً شاملاً يتضمن أكثر من 45 سؤالاً وإجابة نموذجية تغطي مختلف جوانب SQL، منها:

  • الفرق بين الإجراء المخزن والدالة.
  • الفهرس المجمع والفهرس غير المجمع.
  • المفاتيح الأساسية والخارجية.
  • عمليات التطبيع (Normalization).
  • جمل SQL الأساسية (SELECT, INSERT, UPDATE, DELETE).
  • الفهارس (Indexes) وأهميتها.
  • الإجراءات المخزنة (Stored Procedures).
  • التعامل مع البيانات باستخدام DDL, DML, DCL, TCL.
  • دوال النافذة (Window Functions) والـ CTE.
  • تحسين أداء الاستعلامات وقراءة Query Plan.

ترخيص الكُتيب

هذا الكُتيب مرخص تحت رخصة المشاع الإبداعي | Creative Commons — نَسب المُصنَّف - غير تجاري - الترخيص بالمثل 4.0 (CC BY-NC-SA 4.0). يُسمح لك بمشاركته وتعديله بشرط الإشارة إلى المصدر وعدم استخدامه لأغراض تجارية. لمزيد من التفاصيل، يرجى زيارة Creative Commons.

يرجى العلم أن هذا الكتيب متاح مجانًا للجميع، لكن إذا وجدت قيمة فيه وترغب في دعم المزيد من المحتوى المجاني عالي الجودة، يمكنك التبرع عبر الرابط: تبرع لدعم المحتوى.

تحميل النسخة الكاملة

لقراءة أو تحميل النسخة الكاملة من الكُتيب، انقر على الرابط أدناه:

📥 تحميل كُتيب أسئلة SQL

اختبار الاستعداد لمقابلات SQL

للتأكد من مدى استعدادك، قمنا بإنشاء اختبار شامل يُمكّنك من تقييم معرفتك ومهاراتك في لغة الاستعلام SQL. يتضمن الاختبار 50 سؤالاً يغطي جميع الجوانب الهامة في SQL، بأنواع متنوعة: أسئلة متعددة الخيارات (MCQs)، أسئلة صح وخطأ، وأسئلة مفتوحة.

مدة الاختبار ساعة واحدة، وكل سؤال درجتان ليصبح الإجمالي 100 درجة. بعد الانتهاء، ستتلقى نتيجتك على بريدك الإلكتروني. يمكنك إجراء الاختبار أكثر من مرة — الأسئلة عشوائية في كل مرة.

هل أنت جاهز لإجراء الاختبار؟

ابدأ الاختبار الآن 

نصائح عملية لاجتياز مقابلة SQL بثقة

بعد سنوات من التحضير للمقابلات ومشاركة التجارب مع المجتمع التقني، جمعت هذه النصائح التي تُحدث فرقاً حقيقياً:

  1. فكّر بصوت عالٍ: المحاور لا يريد فقط الإجابة الصحيحة — يريد أن يرى طريقة تفكيرك. شرح خطواتك أثناء كتابة الاستعلام يُعطي انطباعاً أفضل من صمت متبوع بإجابة مثالية.
  2. تدرّب على الكتابة اليدوية: كثير من المقابلات تطلب كتابة SQL على ورقة أو لوح أبيض. المحررات لا تصحح لك الأخطاء هناك.
  3. تعلّم EXPLAIN: القدرة على قراءة خطة التنفيذ (Execution Plan) تُظهر احترافية حقيقية وتُفرّقك عن 90% من المرشحين.
  4. اربط إجاباتك بسياق عملي: بدلاً من قول "الفهرس يُسرّع الاستعلام"، قل "في مشروع سابق، أضفت فهرساً على عمود البريد الإلكتروني فانخفض وقت الاستعلام من 3 ثوانٍ إلى أقل من 50 ميلي ثانية."
  5. لا تحفظ — افهم: المحاور الخبير يعرف متى تحفظ ومتى تفهم. ركّز على فهم المفهوم حتى تستطيع تطبيقه في سيناريوهات جديدة لم تدرسها.
💡 مصادر تدريب موصى بها: LeetCode Database (أسئلة SQL مصنّفة بالصعوبة)، HackerRank SQL، وSQLZoo للمبتدئين. للتعمق في القواعد الأساسية، طالع دليلنا الشامل عن قواعد البيانات، أو للتدريب العملي يمكنك البدء بـ دليل استخدام SQLite مع بايثون.
📬

هل استفدت من هذا الدليل؟

انضم إلى مئات المشتركين واحصل على أحدث الأدلة والموارد التقنية مباشرة في بريدك الإلكتروني.

نعم، أريد الاشتراك! ✉️

🔒 خصوصيتك مهمة لنا. لن نرسل رسائل مزعجة أبداً.

الأسئلة الشائعة حول مقابلات SQL

❓ ما مستوى SQL المطلوب لوظيفة تحليل البيانات (Data Analyst)؟

معظم وظائف Data Analyst تتطلب مستوى متوسطاً إلى متقدماً: إجادة SELECT مع JOINs المتعددة، GROUP BY وHAVING، وdoال التجميع. الميزة التنافسية تأتي من إتقان Window Functions والـ CTE التي تجعل الاستعلامات المعقدة أكثر قابلية للقراءة والصيانة.

❓ ما الفرق بين SQL وNoSQL؟ وهل يُسألون عنه في المقابلات؟

SQL يعمل مع قواعد البيانات العلائقية المنظمة (جداول وصفوف). NoSQL يعمل مع بيانات غير منظمة أو شبه منظمة (مستندات، رسوم بيانية، مفتاح-قيمة). نعم، هذا السؤال يظهر بشكل متزايد خاصة في وظائف هندسة البيانات والتطوير الخلفي — فاحرص على معرفة متى تختار كلاً منهما.

❓ كم من الوقت يستغرق التحضير لمقابلة SQL؟

المبتدئ الذي يبدأ من الصفر يحتاج من 4 إلى 8 أسابيع من التدريب المنتظم (ساعة يومياً) للوصول لمستوى مناسب للمقابلات المتوسطة. من لديه خلفية برمجية يحتاج أسبوعين إلى أربعة للمراجعة والتعمق في الجوانب المتقدمة.

❓ هل يختلف SQL بين MySQL وSQL Server وPostgreSQL؟

الأساسيات متطابقة تقريباً في جميع الأنظمة. الاختلافات تظهر في التفاصيل: بعض الدوال المدمجة (Built-in Functions)، وطريقة التعامل مع التواريخ، وبعض ميزات متقدمة. إتقان SQL القياسي (ANSI SQL) يُمكّنك من العمل على أي نظام بعد تعلم اختلافاته البسيطة.

❓ هل لا يزال SQL مطلوباً في عصر الذكاء الاصطناعي وأدوات البيانات الحديثة؟

بكل تأكيد، وبشكل أكبر من أي وقت مضى. أدوات الذكاء الاصطناعي للبيانات (كـ BigQuery ML وDatabricks) تعتمد على SQL كواجهة رئيسية. حتى ChatGPT يُولّد كوداً SQL — لكن لا يزال هناك شخص يحتاج لفهمه ومراجعته وتحسينه. SQL ليس مهدداً بالاستبدال بل متكامل مع كل التقنيات الجديدة. يمكنك قراءة مقالنا عن تطبيقات الذكاء الاصطناعي في الحياة اليومية للاستزادة.

❓ ما الفرق بين RANK وDENSE_RANK وROW_NUMBER؟

الثلاثة دوال ترتيب (Window Functions)، لكنهم يتعاملون مع التكرارات بشكل مختلف: ROW_NUMBER يُعطي رقماً فريداً لكل صف حتى لو تكررت القيم. RANK يُعطي نفس الرتبة للقيم المتكررة ويتخطى الأرقام التالية (1, 1, 3). DENSE_RANK يُعطي نفس الرتبة للمتكررات لكن دون تخطي الأرقام (1, 1, 2).

📌 هل أعجبك هذا الدليل؟ إذا وجدته مفيداً، ندعوك لمشاركته مع أصدقائك وزملائك المهتمين بالتقنية. ولا تنسَ استكشاف المزيد من الأدلة التقنية على وادي التكنولوجيا.

أضف وادي التكنولوجيا كمصدر مفضّل على جوجل

اجعل مقالاتنا تظهر لك أولًا في نتائج البحث والأخبار

أضفنا الآن
مصطفى أمان
مصطفى أمان
صانع محتوى تعليمي تقني على مدونتي وعلى قناة اليوتيوب. وهدفي من هذا المحتوى هو محو الأمية المتعلقة بمجال تكنولوجيا المعلومات حتى نبدأ من حيث انتهى الأخرين.
تعليقات



    /*إشعار رسالة الكوكيز*/