إذا كانت استعلاماتك لا تعمل بجد كاف، فقد تساعد إضافة بعض عبارات SQL الأساسية في تركيز نتائجك. لنلق نظرة على بعض أنواع عبارات SQL والعبارات أو الأجزاء التي قد تقوم بتحريرها للحصول على النتائج التي تريدها.
ملاحظة: لا تنطبق هذه المقالة على تطبيقات Access على الويب – نوع قاعدة البيانات التي تصممها باستخدام Access وتنشرها عبر الإنترنت.
في هذه المقالة
إنشاء عبارة Select
تحتوي عبارة تحديد SQL على عبارة من 2 إلى 3 عبارات. تخبر عبارة SELECT قاعدة البيانات بمكان البحث عن البيانات وتطالبها بإرجاع نتيجة معينة.
ملاحظة: تنتهي عبارات SELECT دائما بفواصل منقوطة (;) إما في نهاية العبارة الأخيرة أو على سطر بحد ذاته في نهاية عبارة SQL.
تطلب عبارة التحديد التالية من Access الحصول على معلومات من عمودي عنوان البريد الإلكتروني والشركة، من جدول جهات الاتصال، وتحديدا المكان الذي يعثر فيه على "سياتل" في عمود المدينة.
يحتوي الاستعلام أعلاه على ثلاث عبارات SELECT و FROM و WHERE.
1. تسرد عبارة SELECT الأعمدة التي تحتوي على البيانات التي تريد استخدامها ولها عامل تشغيل (SELECT) متبوعا بمعرفين (عنوان البريد الإلكتروني والشركة). إذا كان المعرف يحتوي على مسافات أو أحرف خاصة (مثل "عنوان البريد الإلكتروني")، فقم بإحاطة المعرف بين أقواس مربعة.
2. تحدد عبارة FROM الجدول المصدر. في هذا المثال، يحتوي على عامل تشغيل (FROM) متبوعا بمعرف (جهات الاتصال).
3. عبارة WHERE عبارة اختيارية. يحتوي المثال على عامل تشغيل (WHERE) متبوعا بتعبير (City="Seattle").
لمزيد من المعلومات حول استعلامات التحديد، راجع إنشاء استعلام تحديد بسيط.
فيما يلي قائمة بجمل SQL الشائعة:
عبارة SQL |
الإجراء الذي ينفّذه |
هل هو مطلوب ؟ |
SELECT |
يسرد الحقول التي تحتوي على بيانات ذات أهمية. |
نعم |
FROM |
يسرد الجداول التي تحتوي على الحقول المدرجة في عبارة SELECT. |
نعم |
WHERE |
يحدد معايير الحقل التي يجب أن يستوفيها كل سجل ليتم تضمينها في النتائج. |
لا |
ترتيب حسب |
يحدد كيفية فرز النتائج. |
لا |
GROUP BY |
في عبارة SQL التي تحتوي على دالات تجميعية، تسرد الحقول التي لم يتم تلخيصها في عبارة SELECT. |
فقط إذا كانت هناك مثل هذه الحقول |
HAVING |
في عبارة SQL التي تحتوي على دالات تجميعية، تحدد الشروط التي تنطبق على الحقول التي تم تلخيصها في عبارة SELECT. |
لا |
تتكون كل عبارة SQL من شروط. فيما يلي قائمة ببعض مصطلحات SQL الشائعة.
مصطلح SQL |
التعريف |
مثال |
المعرف |
اسم تستخدمه لتعريف كائن قاعدة بيانات، مثل اسم العمود. |
[عنوان البريد الإلكتروني] والشركة |
عامل تشغيل |
كلمة أساسية تمثل إجراء أو تعدل إجراء. |
AS |
ثابت |
قيمة لا تتغير، مثل رقم أو NULL. |
42 |
تعبير |
مجموعة من المعرفات وعوامل التشغيل والثوابت والدالات التي يتم تقييمها إلى قيمة واحدة. |
>= المنتجات. [سعر الوحدة] |
تخصيص عبارة SELECT
تخصيص |
مثال |
لرؤية القيم المميزة فقط. استخدم الكلمة الأساسية DISTINCT في عبارة SELECT. |
على سبيل المثال، إذا كان عملاؤك من عدة مكاتب فرعية مختلفة وكان بعضهم لديهم نفس رقم الهاتف وتريد رؤية رقم هاتف مدرج مرة واحدة فقط، فإن عبارة SELECT الخاصة بك ستكون كما يلي:
|
لتغيير الطريقة التي يظهر بها المعرف في طريقة عرض ورقة البيانات لتحسين قابلية القراءة. استخدم عامل تشغيل AS (كلمة أساسية تمثل إجراء أو تعدل إجراء) مع اسم مستعار للحقل في عبارة SELECT. الاسم المستعار للحقل هو الاسم الذي تقوم بتعيينه لحقل لتسهيل قراءة النتائج. |
|
تخصيص عبارة FROM
تخصيص |
مثال |
يمكنك استخدام اسم مستعار للجدول أو اسم مختلف تقوم بتعيينه إلى جدول في عبارة تحديد. يكون الاسم المستعار للجدول مفيدا إذا كان اسم اسم الجدول طويلا، خاصة عندما يكون لديك حقول متعددة لها نفس الاسم من جداول مختلفة. |
لتحديد البيانات من حقلين، كلا من المعرف المسمى، أحدهما يأتي من الجدول tblCustomer والآخر من الجدول tblOrder:
استخدم عامل تشغيل AS لتعريف الأسماء المستعارة للجدول في عبارة FROM:
يمكنك بعد ذلك استخدام الأسماء المستعارة للجدول هذه في عبارة SELECT، كما يلي:
|
استخدم الصلات لدمج أزواج السجلات من مصدري بيانات في نتيجة واحدة أو لتحديد ما إذا كان يجب تضمين سجلات من أي جدول إذا لم يكن هناك سجل مطابق في الجدول ذي الصلة. ضم الجداول بحيث يجمع الاستعلام العناصر من الجداول، ويستبعد العناصر عندما لا يكون هناك سجل مطابق في الجدول الآخر |
إليك ما قد تبدو عليه عبارة FROM:
|
حول استخدام الصلات
هناك نوعان من الصلات، الصلات الداخلية والخارجية. الصلات الداخلية أكثر شيوعا في الاستعلامات. عند تشغيل استعلام مع صلة داخلية، تظهر النتيجة فقط تلك العناصر التي توجد فيها قيمة شائعة في كلا الجدولين المنضمين.
تحدد الصلات الخارجية ما إذا كنت تريد تضمين بيانات حيث لا توجد قيمة شائعة. الصلات الخارجية اتجاهية، ما يعني أنه يمكنك تحديد ما إذا كنت تريد تضمين جميع السجلات من الجدول الأول المحدد في الصلة (تسمى الصلة اليسرى)، أو لتضمين جميع السجلات من الجدول الثاني في الصلة (تسمى الصلة اليمنى). تحتوي الصلة الخارجية على بناء جملة SQL التالي:
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2
راجع المزيد من المعلومات حول استخدام الصلات في استعلام في ربط الجداول والاستعلامات.
تخصيص عبارة WHERE
تتضمن عبارة WHERE معايير تساعد على الحد من عدد العناصر التي تم إرجاعها في استعلام. راجع أمثلة معايير الاستعلام وكيفية عملها.
مثال على كيفية تخصيص عبارة WHERE الأساسية هو الحد من نتائج الاستعلام؛ لنفترض أنك تريد تحديد موقع رقم هاتف العميل، ولا يمكنك تذكر اسمه الأخير إلا باسم Bagel. في هذا المثال، يتم تخزين أسماء العائلة في حقل LastName، لذلك سيكون بناء جملة SQL:
WHERE [LastName]='Bagel'
استخدم عبارة WHERE أيضا لدمج مصادر البيانات للأعمدة التي تحتوي على بيانات مطابقة، ولكن أنواع بيانات مختلفة. هذا مفيد لأنه لا يمكنك إنشاء صلة بين الحقول التي تحتوي على أنواع بيانات مختلفة. استخدم حقلا واحدا كمعيار للحقل الآخر، مع الكلمة الأساسية LIKE . على سبيل المثال، إذا كنت تريد استخدام بيانات من جدول الأصول وجدول الموظفين، فقط عندما يكون نوع الأصل في حقل نوع الأصل لجدول الأصول هو الرقم 3 في حقل الكمية في جدول الموظفين، فإليك كيف ستبدو عبارة WHERE:
WHERE field1 LIKE field2
هام: لا يمكنك تحديد معايير لحقل يستخدم مع دالة تجميعية في عبارة WHERE. بدلاً من ذلك، يمكنك استخدام عبارة HAVING لتحديد معايير للحقول المجمعة.
التخصيص باستخدام عامل تشغيل UNION
استخدم عامل تشغيل UNION عندما تريد رؤية طريقة عرض مجمعة للنتائج من عدة استعلامات تحديد مماثلة. على سبيل المثال، إذا كانت قاعدة البيانات تحتوي على جدول منتجات وجدول خدمات وكان كلاهما يحتوي على ثلاثة حقول: العرض الحصري أو المنتج أو الخدمة أو السعر أو الضمان أو الضمان. على الرغم من أن جدول المنتجات يخزن معلومات الضمان، ويخزن جدول الخدمات معلومات الضمان، فإن المعلومات الأساسية هي نفسها. يمكنك استخدام استعلام موحد لدمج الحقول الثلاثة من الجدولين مثل هذا:
SELECT name, price, warranty, exclusive_offer
FROM Products UNION ALL SELECT name, price, guarantee, exclusive_offer FROM Services;
عند تشغيل الاستعلام، يتم دمج البيانات من كل مجموعة من الحقول المقابلة في حقل إخراج واحد. لتضمين أي صفوف مكررة في النتائج، استخدم عامل التشغيل ALL.
ملاحظة: يجب أن تحتوي عبارة Select على نفس عدد حقول الإخراج، بالترتيب نفسه، وبنفس أنواع البيانات أو أنواع البيانات المتوافقة. لأغراض استعلام موحد، يكون نوعا البيانات "رقم" و"نص" متوافقين.
لمزيد من المعلومات حول استعلامات الاتحاد، راجع استخدام استعلام موحد لعرض نتيجة موحدة من استعلامات متعددة.