مقدمة إلى Access SQL

هام: تمت ترجمة هذه المقالة ترجمة آلية، راجع إقرار إخلاء المسؤولية. يرجى الاطلاع على النسخة الإنجليزية من هذه المقالة. هنا للرجوع إليها.

عندما تريد استرداد البيانات من قاعده بيانات، اطلب ل# البيانات ب# استخدام لغه الاستعلامات المركبه، او SQL. SQL هي لغه كمبيوتر يشبه الانجليزيه فهم برامج قواعد البيانات الي حد كبير. من المهم معرفه SQL ل# ان يستخدم كل استعلام في Microsoft Access SQL. التعرف علي كيفيه عمل SQL يساعد في انشاء استعلامات افضل، و# يمكنك ان تسهل اصلاح استعلام عند هو لا يقوم ب# ارجاع النتائج التي تريدها.

ملاحظة: لا يمكنك تحرير SQL لاستعلام ويب.

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

ما هو SQL؟

عبارات SQL الاساسيه: تحديد و FROM، و# اين

فرز النتائج: حسب ترتيب

العمل علي بيانات ملخصه: تجميع حسب و HAVING

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

مزيد من المعلومات حول بند SELECT

مزيد من المعلومات حول بند FROM

مزيد من المعلومات حول بند WHERE

ما هي SQL؟

SQL لغه كمبيوتر ل# العمل مع مجموعات التي تضم حقائق و# العلاقات بينها. استخدام برامج قواعد البيانات العلائقيه، مثل Access 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

جزء الكلام المناظر

التعريف

مثال

المعرِّف

الاسم

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

Customers.[Phone Number]‎

عامل التشغيل

الفعل أو الحال

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

AS

ثابت

الاسم

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

42

التعبير

الصفة

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

‎>= Products.[Unit Price]‎

اعلي الصفحه

عبارات 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 من القيام ب# استخدام "تحديد" و "FROM، و# جمل WHERE. مزيد من المعلومات حول كيفيه يمكنك استخدام هذه العبارات يتم تقديمها في الاقسام التاليه في نهايه هذه المقاله:

مزيد من المعلومات حول بند SELECT

مزيد من المعلومات حول بند FROM

مزيد من المعلومات حول بند WHERE

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

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

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

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

ORDER BY Company DESC, [E-mail Address]

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

ل# الحصول علي مزيد من المعلومات حول جمله ORDER BY، راجع الموضوع ترتيب ب# حسب عباره.

اعلي الصفحه

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

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

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

تعتمد الدالات التجميعيه التي يمكنك استخدامها علي نوع البيانات في الحقل او التعبير الذي تريد استخدامه. ل# الحصول علي مزيد من المعلومات حول دالات التجميع المتوفره، راجع المقاله دالات SQL التجميعيه.

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

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

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

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

GROUP BY Company

ل# الحصول علي مزيد من المعلومات حول جمله 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، راجع الموضوع جمله الحاجه.

اعلي الصفحه

دمج نتائج الاستعلامات: 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، راجع المقاله دمج نتائج عده استعلامات تحديد ب# استخدام استعلام توحيد.

اعلي الصفحه

المزيد حول عبارة SELECT

في عباره SELECT، بند SELECT تسرد الحقول التي تحتوي علي بيانات انك تريد استخدامه.

استخدم أقواس مربعة لتضمين المعرّفات

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

تلميح: اسم يحتوي علي مسافات سهله القراءه، و# يمكنك توفير الوقت عند تصميم نماذج و# تقارير، و# لكن قد في نهايه المطاف الي جعل يمكنك كتابه اكثر عند كتابه عبارات SQL. يجب مراعاه هذه الحقيقه عند تسميه كائنات في قاعده البيانات.

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

تحديد كافة الحقول

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

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

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

SELECT Orders.*, Contacts.[E-mail Address]

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

تحديد قيم مميزة

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

SELECT DISTINCT [txtCustomerPhone]

استخدام أسماء بديلة للحقول أو التعبيرات: الكلمة الأساسية AS

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

SELECT [txtCustPhone] AS [Customer Phone]

ملاحظة: يجب استخدام اسم مستعار للحقل عند استخدام تعبير في عبارة SELECT.

التحديد باستخدام تعبير

في بعض الاحيان، يمكنك ب# القاء نظره علي عمليات حسابيه استنادا الي البيانات او استرداد جزء فقط من بيانات حقل. علي سبيل المثال، افترض انك تريد عائد السنه التي ولدت العملاء، استنادا الي البيانات في الحقل تاريخ الميلاد في قاعده البيانات. قد بند SELECT الخاص بك تشبه ما يلي:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

يتكون من هذا التعبير الداله DatePart و# وسيطتين هما — "س س س س" (ثابت)، و [تاريخ الميلاد] (معرف).

يمكنك استخدام أي تعبير صحيح كحقل، إذا كان إخراج التعبير قيمة واحدة عند تحديد قيمة إدخال واحدة له.

اعلي الصفحه

المزيد حول عبارة FROM

في جملة SELECT، تحدد عبارة FROM الجداول أو الاستعلامات التي تحتوي على البيانات التي ستستخدمها عبارة SELECT.

افترض أنك تريد معرفة رقم هاتف عميل معين. ومع افتراض الجدول الذي يحتوي على الحقل الذي يقوم بتخزين هذه البيانات يحمل الاسم tblCustomer، فستظهر عبارة FROM بالشكل التالي:

FROM tblCustomer

استخدام أقواس مربعة لتضمين المعرّفات

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

تلميح: اسم يحتوي علي مسافات سهله القراءه، و# يمكنك توفير الوقت عند تصميم نماذج و# تقارير، و# لكن قد في نهايه المطاف الي جعل يمكنك كتابه اكثر عند كتابه عبارات SQL. يجب مراعاه هذه الحقيقه عند تسميه كائنات في قاعده البيانات.

استخدام أسماء بديلة لمصادر البيانات

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

على سبيل المثال، إذا كنت تريد تحديد البيانات من حقلين، يحمل كلاهما الاسم "معرّف"، وأحدهما يأتي من الجدول tblCustomer والآخر من الجدول tblOrder، فستظهر عبارة SELECT بالشكل التالي:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

يمكنك تسهيل كتابة الاستعلام عن طريق استخدام أسماء مستعارة للجداول في عبارة FROM. تظهر عبارة FROM، مع الأسماء المستعارة للجداول، بالشكل التالي:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

يمكنك حينئذٍ استخدام الأسماء المستعارة للجداول هذه في عبارة SELECT، على النحو التالي:

SELECT [C].[ID], [O].[ID]

ملاحظة: عند استخدام اسم مستعار للجدول، يمكنك الإشارة إلى مصدر البيانات في جملة SQL باستخدام الاسم المستعار أو الاسم الكامل لمصدر البيانات.

وصل البيانات المرتبطة

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

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

بالإضافة إلى دمج البيانات، يمكنك أيضًا استخدام عملية صلة لتحديد ما إذا كان يتم تضمين السجلات من أي من الجدولين إذا لم يوجد سجل مطابق في الجدول ذي الصلة.

علي سبيل المثال، افترض انك تريد استخدام البيانات من جدولين في استعلام: tblCustomer و tblOrder. الجدولين كلا تحتوي علي حقل، معرف العميل، يعرف العميل. قد يحتوي كل سجل في الجدول tblCustomer سجلات مطابقه واحده او اكثر في الجدول tblOrder، و# يمكن تحديد القيم المتطابقه حسب القيم في الحقل معرف العميل.

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

FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

في Microsoft Office Access، تحدث عمليات الصلة في عبارة FROM في جملة SELECT. هناك نوعان من الصلات: الصلات الداخلية والصلات الخارجية. تشرح المقاطع التالية هذين النوعين من الصلات.

الصلات الداخلية

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

بناء جملة الصلة الداخلية يكون كالتالي (تمت إضافة فاصل أسطر هنا لتسهيل القراءة):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

يصف الجدول التالي الأجزاء المختلفة لعملية "صلة داخلية".

الجزء

الوصف

table1 table2

أسماء الجداول التي يتم تجميع السجلات منها.

field1 field2

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

compopr

أي عامل مقارنة ارتباطي: "=" أو "<" أو ">" أو "<=" أو ">=" أو"<>".

الصلات الخارجية

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

بناء جملة الصلة الخارجية يكون كالتالي:

من جدول 1 [اليسار | الانضمام الي اليمين] table2
علي table1.field1compopr table2.field2

يصف الجدول التالي الأجزاء المختلفة لعمليات LEFT JOIN (الصلة اليسرى) وRIGHT JOIN (الصلة اليمنى).

الجزء

الوصف

table1 table2

أسماء الجداول التي يتم تجميع السجلات منها.

field1 field2

اسماء الحقول التي يتم ضم. يجب ان تكون من نفس نوع البيانات الحقول و# تحتوي علي نفس نوع البيانات، و# لكن ليس لديهم ل# ان تحمل الاسم نفسه.

compopr

أي عامل مقارنة علائقي: "=" أو "<" أو ">" أو "<=" أو ">=" أو"<>".

ل# الحصول علي مزيد من المعلومات حول الصلات، راجع المقاله وصل الجداول و# الاستعلامات.

اعلي الصفحه

المزيد حول عبارة WHERE

عندما تريد استخدام بيانات ل# تحديد عدد السجلات التي يتم ارجاعها في استعلام، يمكنك استخدام الاستعلام معايير في عباره where عباره SELECT. معيار استعلام يشبه الي صيغه — يكون سلسله ان تتكون من مراجع الحقول و# عوامل التشغيل و# الثوابت. معايير الاستعلام نوع من تعبير.

يعرض الجدول التالي بعض نماذج المعايير ويوضح كيفية عملها.

المعيار

الوصف

>25 and‏ <50

يتم تطبيق هذا المعيار على حقل "رقم"، مثل حقل "السعر" أو "الوحدات بالمخزن". ويحتوي هذا المعيار على تلك السجلات التي يتضمن الحقل فيها على قيمة أكبر من 25 وأصغر من 50.

Date()) > 30, [تاريخ الميلاد],‏‎DateDiff ("yyyy"‎

يتم تطبيق هذا المعيار على حقل يستخدم نوع البيانات "تاريخ/وقت"، مثل "تاريخ الميلاد". تتضمن نتيجة الاستعلام سجلات حيث يكون عدد السنوات بين تاريخ ميلاد شخص وتاريخ اليوم أكبر من 30.

Is Null

يمكن تطبيق هذا المعيار على أي نوع من الحقول لإظهار السجلات حيث تكون قيمة الحقل خالية.

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

هام: اذا تم استخدام حقل ب# استخدام داله تجميعيه، لا يمكنك تحديد معايير ل# هذا الحقل في البند where. بدلا من ذلك، يمكنك استخدام عباره HAVING ل# تحديد معايير ل# حقول المجمعه. ل# مزيد من المعلومات، راجع المقطع التعامل مع البيانات الملخصه: تجميع حسب و HAVING.

بناء عبارة WHERE

بناء الجملة الأساسي لعبارة WHERE يكون كالتالي:

WHERE field = criterion

على سبيل المثال، افترض أنك تريد رقم هاتف عميل، ولكنك لا تتذكر سوى أن اسم عائلة العميل هو بخاش. بدلاً من البحث في كافة أرقام الهواتف في قاعدة البيانات، يمكنك استخدام عبارة WHERE لتحديد النتائج وتسهيل العثور على رقم الهاتف الذي تريده. بافتراض تخزين أسماء العائلة في حقل يُسمى "اسم العائلة"، تبدو عبارة WHERE على النحو التالي:

WHERE [LastName]='Bagel'

ملاحظة: ليس لديك ل# اسناد المعايير في عباره where الخاص بك تكافؤ القيم. يمكنك استخدام عوامل تشغيل المقارنه الاخري، مثل اكبر من (>) او اقل من (<). علي سبيل المثال، حيث [السعر] > 100.

استخدام عبارة WHERE لدمج مصادر البيانات

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

لا يمكنك إنشاء صلة بين الحقول ذات أنواع بيانات مختلفة. لدمج البيانات من مصدري بيانات على أساس القيم الموجودة في الحقول ذات أنواع بيانات مختلفة، قم بإنشاء عبارة WHERE التي تستخدم حقلاً واحدًا كمعيار للحقل الآخر، باستخدام الكلمة الأساسية LIKE.

على سبيل المثال، افترض أنك تريد استخدام البيانات من table1 وtable2، ولكن فقط عندما تكون البيانات في field1 (حقل نص في table1) مطابقة للبيانات في field2 (حقل رقم في table2). ستظهر عبارة WHERE بالشكل التالي:

WHERE field1 LIKE field2

ل# الحصول علي مزيد من المعلومات حول كيفيه انشاء المعايير المستخدمه في البند where، راجع المقاله امثله حول معايير الاستعلام.

اعلي الصفحه

ملاحظة: إقرار إخلاء المسؤولية للترجمة الآلية: تمت ترجمة هذه المقالة بواسطة نظام كمبيوتر دون تدخل العامل البشري. توفر Microsoft هذه الترجمات الآلية لمساعدة المستخدمين الذين لا يتحدثون الإنجليزية على استخدام منتجات Microsoft، وخدماتها، وتقنياتها والاستمتاع بها. قد تحتوي هذه المقالة على أخطاء في المفردات، أو بناء الجملة، أو القواعد نظرًا لترجمتها آليًا.

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

رائع! هل لديك أي ملاحظات أخرى؟

كيف يمكننا تحسين ذلك؟

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

×