Access SQL: المفاهيم الأساسية ومصطلحاتها بناء الجملة

Access SQL: المفاهيم الأساسية ومصطلحاتها بناء الجملة

عندما تريد استرداد البيانات من قاعدة بيانات، يمكنك طلب البيانات باستخدام لغة الاستعلامات المنظمة أو SQL. SQL هي لغة كمبيوتر تشبه اللغة الإنجليزية إلى حد كبير، ولكن برامج قاعدة البيانات هذه تفهم. يستخدم كل استعلام تقوم بتشغيله SQL في الكواليس.

يمكن أن يساعدك فهم كيفية عمل SQL على إنشاء استعلامات أفضل، ويمكن أن يسهل عليك فهم كيفية إصلاح استعلام لا يرجع النتائج التي تريدها.

هذه إحدى مجموعات المقالات التي تدور حول Access SQL. تصف هذه المقالة الاستخدام الأساسي ل SQL لتحديد البيانات، وتستخدم أمثلة لتوضيح بناء جملة SQL.

في هذه المقالة

ما هو SQL؟

SQL هي لغة كمبيوتر للعمل مع مجموعات الحقائق والعلاقات بينها. تستخدم برامج قاعدة البيانات العلائقية، مثل Microsoft Office Access، SQL للعمل على البيانات. بخلاف العديد من لغات الكمبيوتر، لا يصعب قراءة SQL وفهمه، حتى بالنسبة إلى المبتدئين. مثل العديد من لغات الكمبيوتر، SQL هو معيار دولي يتم التعرف عليه من خلال أجهزة المعايير مثل ISOو ANSI.

يمكنك استخدام SQL لوصف مجموعات من البيانات التي يمكن أن تساعدك في الإجابة على الأسئلة. عند استخدام SQL، يجب استخدام بناء الجملة الصحيح. بناء الجملة هو مجموعة القواعد التي يتم من خلالها دمج عناصر اللغة بشكل صحيح. يستند بناء جملة SQL إلى بناء جملة اللغة الإنجليزية، ويستخدم العديد من العناصر نفسها التي يستخدمها بناء جملة Visual Basic for Applications (VBA).

على سبيل المثال، قد تتشابه العبارة البسيطة SQL التي تسترد قائمة بأسماء العائلة مع جهات الاتصال التي يكون اسمها الأول ما يلي:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

ملاحظة: لا يتم استخدام SQL لمعالجة البيانات فقط، ولكن أيضا لإنشاء تصميم كائنات قاعدة البيانات وتغييره، مثل الجداول. يسمى جزء SQL المستخدم لإنشاء كائنات قاعدة البيانات وتغييرها لغة تعريف البيانات (DDL). لا يغطي هذا الموضوع DDL. لمزيد من المعلومات، راجع المقالة "إنشاء جداول أو فهارس أو تعديلها باستخدام استعلام تعريف البيانات".

عبارات SELECT

لوصف مجموعة من البيانات باستخدام SQL، اكتب العبارة SELECT. تحتوي العبارة SELECT على وصف كامل مجموعة من البيانات التي تريد الحصول عليها من قاعدة بيانات. يشمل ذلك ما يلي:

  • الجداول التي تحتوي على البيانات.

  • كيفية صلة البيانات من مصادر مختلفة.

  • ما هي الحقول أو العمليات الحسابية التي ستنتج البيانات.

  • المعايير التي يجب أن تطابقها البيانات لتضمينها.

  • ما إذا كنت تريد فرز النتائج وكيفية فرزها.

عبارات SQL

مثل الجملة، تكون جملة SQL بها عبارات. تقوم كل عبارة بتنفيذ دالة لعبارات SQL. بعض العبارات مطلوبة في جملة SELECT. يسرد الجدول التالي عبارات SQL الأكثر شيوعا.

عبارة SQL

الإجراء الذي ينفّذه

مطلوب

SELECT

يسرد الحقول التي تحتوي على البيانات الهامة.

نعم

FROM

تسرد الجداول التي تحتوي على الحقول المدرجة في عبارة SELECT.

نعم

WHERE

تحدد معايير الحقل التي يجب أن يتم تحقيقها بواسطة كل سجل لتضمينها في النتائج.

لا

ORDER BY

تحدد هذه الطريقة كيفية فرز النتائج.

لا

GROUP BY

في جملة SQL التي تحتوي على دالات تجميعية، تسرد الحقول التي لم يتم تلخيصها في عبارة SELECT.

فقط في حالة وجود مثل هذه الحقول

HAVING

في العبارة SQL التي تحتوي على دالات تجميعية، تحدد الشروط التي تنطبق على الحقول التي تم تلخيصها في العبارة SELECT.

لا

شروط SQL

تتألف كل عبارة SQL من مصطلحات ، مشابهة لأجزاء الكلام. يسرد الجدول التالي أنواع مصطلحات SQL.

مصطلح SQL

جزء مماثل من الكلام

التعريف

مثال

المعرف

اسم

اسم تستخدمه لتعريف كائن قاعدة بيانات، مثل اسم حقل.

العملاء. [رقم الهاتف]

عامل تشغيل

الفعل أو adverb

كلمة أساسية تمثل إجراء أو تعدل إجراء.

AS

ثابت

اسم

قيمة لا تتغير، مثل رقم أو NULL.

42

تعبير

الصفة

تركيبة من المعرفات و عوامل التشغيل وال ثوابت ووظائف يتم تقييمها إلى قيمة واحدة.

>= المنتجات. [سعر الوحدة]

أعلى الصفحة

عبارات SQL الأساسية: SELECT و FROM و WHERE

تأخذ العبارة SQL النموذج العام:

SELECT field_1
FROM table_1
WHERE criterion_1
;

ملاحظات: 

  • يتجاهل Access فواصل السطر في بيان SQL. ومع ذلك، فكر في استخدام سطر لكل عبارة للمساعدة على تحسين قابلية قراءة عبارات SQL لنفسك وللآخرين.

  • تنتهي كل العبارة SELECT بشبه نقطتين (;). يمكن أن تظهر الفاصلة الشبه النقطية في نهاية الجملة الأخيرة أو على سطر بحد ذاته في نهاية جملة SQL.

مثال في Access

يوضح ما يلي الشكل الذي قد تبدو به العبارة SQL لاستعلام تحديد بسيط في Access:

علامة تبويب عنصر SQL تعرض عبارة «SELECT»

1. عبارة SELECT

2. عبارة FROM

3. عبارة WHERE

يقرأ هذا المثال في العبارة SQL "تحديد البيانات المخزنة في الحقول المسماة "عنوان البريد الإلكتروني" و"الشركة" من الجدول المسمى "جهات الاتصال"، وتحديدا تلك السجلات التي تكون فيها قيمة الحقل "مدينة سياتل".

دعنا نطلع على المثال، عبارة واحدة في كل مرة، لمعرفة كيفية عمل بناء جملة SQL.

عبارة SELECT

SELECT [E-mail Address], Company

هذه هي عبارة SELECT. ويتكون من عامل تشغيل (SELECT) متبوع بمعرفين ([عنوان البريد الإلكتروني] والشركة).

إذا كان المعرف يحتوي على مسافات أو أحرف خاصة (مثل "عنوان البريد الإلكتروني")، فيجب إحاطته بأقواس مربعة.

لا يجب أن توضح عبارة SELECT الجداول التي تحتوي على الحقول، ولا يمكنها تحديد أي شروط يجب أن يتم تحقيقها بواسطة البيانات التي يجب تضمينها.

تظهر عبارة SELECT دائما أمام عبارة FROM في جملة SELECT.

عبارة FROM

FROM Contacts

هذه هي عبارة FROM. ويتكون من عامل تشغيل (FROM) متبوع بمعرف (جهات الاتصال).

لا تقوم عبارة FROM سرد الحقول التي تريد تحديدها.

عبارة WHERE

WHERE City="Seattle"

هذه هي عبارة WHERE. ويتكون من عامل تشغيل (WHERE) متبوع كتعبير (City="Seattle").

ملاحظة: بخلاف عبارة SELECT و FROM، لا تكون عبارة WHERE عنصرا مطلوبا في جملة SELECT.

يمكنك تنفيذ العديد من الإجراءات التي تمكنك SQL من القيام بها باستخدام عبارات SELECT و FROM و WHERE. يتم تقديم مزيد من المعلومات حول كيفية استخدام هذه العبارات في المقالات الإضافية التالية:

أعلى الصفحة

فرز النتائج: ORDER BY

مثل Microsoft Excel، يتيح لك Access فرز نتائج الاستعلام في ورقة بيانات. يمكنك أيضا تحديد الطريقة التي تريد بها في الاستعلام فرز النتائج عند تشغيل الاستعلام، باستخدام عبارة ORDER BY. إذا كنت تستخدم عبارة ORDER BY، فهي عبارة أخيرة في جملة SQL.

تحتوي عبارة ORDER BY على قائمة الحقول التي تريد استخدامها للفرز، بالترتيب نفسه الذي تريد تطبيق عمليات الفرز عليه.

على سبيل المثال، لنفترض أنك تريد فرز النتائج أولا حسب قيمة الحقل "الشركة" بترتيب تنازلي، وإذا كانت هناك سجلات بنفس القيمة للشركة، يتم فرزها إلى جانب القيم في "عنوان البريد الإلكتروني" في الحقل بترتيب تصاعدي. قد تشبه عبارة ORDER BY ما يلي:

ORDER BY Company DESC, [E-mail Address]

ملاحظة: بشكل افتراضي، يفرز Access القيم بالترتيب التصاعدي (من أ إلى ي، من الأصغر إلى الأكبر). استخدم الكلمة الأساسية DESC لفرز القيم بترتيب تنازلي بدلا من ذلك.

لمزيد من المعلومات حول عبارة ORDER BY، راجع عبارة ORDER BY الموضوع.

أعلى الصفحة

استخدام البيانات الملخصة: GROUP BY و HAVING

قد ترغب في بعض الأحيان في استخدام بيانات ملخصة، مثل إجمالي المبيعات في شهر، أو أكثر العناصر تكلفة في المخزون. للقيام بذلك، يجب تطبيق وظيفة تجميعية حقل في عبارة SELECT. على سبيل المثال، إذا كنت تريد أن يظهر الاستعلام عدد عناوين البريد الإلكتروني المدرجة لكل شركة، فقد تشبه عبارة SELECT ما يلي:

SELECT COUNT([E-mail Address]), Company

تعتمد الدالات التجميعية التي يمكنك استخدامها على نوع البيانات الموجودة في الحقل أو التعبير الذي تريد استخدامه. لمزيد من المعلومات حول الدالات التجميعية المتوفرة، راجع المقالة SQL Aggregate Functions.

تحديد الحقول غير المستخدمة في دالة تجميعية: عبارة GROUP BY

عند استخدام الدالات التجميعية، يجب عليك عادة إنشاء عبارة GROUP BY. تسرد عبارة GROUP BY كافة الحقول التي لا تطبق دالة تجميعية عليها. إذا قمت بتطبيق دالات تجميعية على كل الحقول في استعلام، لن تحتاج إلى إنشاء عبارة GROUP BY.

تتبع عبارة GROUP BY مباشرة عبارة WHERE أو عبارة FROM إذا لم يكن هناك عبارة WHERE. تسرد عبارة GROUP BY الحقول كما تظهر في عبارة SELECT.

على سبيل المثال، متابعة المثال السابق، إذا كانت عبارة SELECT تطبق دالة تجميعية على [عنوان البريد الإلكتروني] وليس على الشركة، فإن عبارة GROUP BY ستمثل ما يلي:

GROUP BY Company

لمزيد من المعلومات حول عبارة GROUP BY، راجع عبارة GROUP BY الموضوع.

تقييد القيم التجميعية باستخدام معايير المجموعة: عبارة HAVING

إذا كنت تريد استخدام معايير للحد من النتائج، ولكن الحقل الذي تريد تطبيق المعايير عليه يتم استخدامه في دالة تجميعية، فلا يمكنك استخدام عبارة WHERE. بدلا من ذلك، يمكنك استخدام عبارة HAVING. تعمل عبارة HAVING مثل عبارة WHERE، ولكن يتم استخدامها للبيانات المجمعة.

على سبيل المثال، افترض أنك تستخدم الدالة AVG (التي تحسب متوسط القيمة) مع الحقل الأول في عبارة SELECT:

SELECT COUNT([E-mail Address]), Company

إذا كنت تريد أن يقوم الاستعلام بتقييد النتائج استنادا إلى قيمة الدالة COUNT هذه، فلا يمكنك استخدام معايير لذلك الحقل في عبارة WHERE. بدلا من ذلك، ضع المعايير في عبارة HAVING. على سبيل المثال، إذا كنت تريد أن يقوم الاستعلام بإرجاع صفوف فقط إذا كان هناك أكثر من عنوان بريد إلكتروني واحد مقترن بالشركة، فقد تشبه عبارة HAVING ما يلي:

HAVING COUNT([E-mail Address])>1

ملاحظة: يمكن أن يتضمن الاستعلام عبارة WHERE وعبارات HAVING — وهي معايير الحقول غير المستخدمة في دالة تجميعية، وتذهب في عبارة WHERE، أما معايير الحقول التي يتم استخدامها مع الدالات التجميعية، فيستخدمها الاستعلام في عبارة HAVING.

لمزيد من المعلومات حول عبارة HAVING، راجع الموضوع HAVING Clause.

أعلى الصفحة

دمج نتائج الاستعلام: UNION

عندما تريد مراجعة كل البيانات التي يتم إرجاعها بواسطة عدة استعلامات تحديد مماثلة معا، كم مجموعة مدمجة، يمكنك استخدام عامل تشغيل UNION.

يتيح لك عامل تشغيل UNION دمج عبارات SELECT في واحدة. يجب أن يكون لعبارات SELECT التي تقوم بدمجها عدد حقول الإخراج نفسه، بالترتيب نفسه، ومع أنواع البيانات نفسها أو أنواع البيانات المتوافقة. عندما تقوم بتشغيل الاستعلام، يتم دمج البيانات من كل مجموعة من الحقول المناظرة في حقل إخراج واحد، بحيث يحتوي إخراج الاستعلام على عدد الحقول نفسه لكل من عبارات تحديد.

ملاحظة: لأغراض الاستعلام التوحيدي، أنواع البيانات "رقم" و"نص" متوافقة.

عند استخدام عامل تشغيل UNION، يمكنك أيضا تحديد ما إذا كان يجب أن تتضمن نتائج الاستعلام صفوفا مكررة، إن وجدت، باستخدام الكلمة الأساسية ALL.

يكون بناء جملة SQL الأساسي لاستعلام اتحاد يجمع بين عبارات SELECT كما يلي:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

على سبيل المثال، لنفترض أن لديك جدولا يسمى "المنتجات" وآخر يسمى "الخدمات". يحتوي الجدولان على الحقول التي تحتوي على اسم المنتج أو الخدمة والسعر أو الضمان أو ضمان التوفر، وما إذا كنت تقدم المنتج أو الخدمة بشكل حصري. على الرغم من أن جدول المنتجات يخزن معلومات الضمان، ويخزن جدول "الخدمات" معلومات ضمانية، فإن المعلومات الأساسية هي نفسها (سواء كان منتج أو خدمة معينة تتضمن وعدا بالجودة). يمكنك استخدام استعلام اتحاد، مثل ما يلي، لدمج الحقول الأربعة من الجدولين:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

لمزيد من المعلومات حول كيفية دمج عبارات SELECT باستخدام عامل تشغيل UNION، راجع دمج نتائج استعلامات تحديد متعددة باستخدام استعلام اتحاد.

أعلى الصفحة

هل تحتاج إلى مزيد من المساعدة؟

تعزيز مهارات Office
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Office Insider

هل كانت المعلومات مفيدة؟

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×