تحرير جمل SQL لتحسين نتائج الاستعلام

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

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

ملاحظة: لا تنطبق هذه المقاله علي تطبيقات Access – نوع جديده ل# قاعده البيانات تصميم مع Access و# نشرها عبر الانترنت. ل# مزيد من المعلومات، راجع انشاء تطبيق Access .

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

إنشاء جملة Select

تخصيص عبارة SELECT

تخصيص عبارة FROM

تخصيص عبارة WHERE

التخصيص باستخدام عامل التشغيل UNION

إنشاء جملة Select

تحتوي جملة SQL select على عبارتين أو ثلاث عبارات. تخبرك عبارة SELECT بقاعدة البيانات التي يمكنك البحث فيها عن البيانات وإعطاؤها أمر بعرض نتيجة محددة.

ملاحظة: تنتهي جمل SELECT دائماً بفاصلة منقوطة (;) إما في نهاية العبارة الأخيرة أو وحدها في سطر في نهاية جملة SQL.

تطلب عبارة select التالية من Access الحصول على معلومات من عمودي "عنوان البريد الإلكتروني" و"الشركة"، من جدول "بيانات الاتصال"، في المكان الذي تعثر فيه على "سياتل" في عمود "المدينة" على وجه التحديد.

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

يحتوي الاستعلام السابق على ثلاث عبارات وهي SELECT، وFROM، وWHERE.

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

2. تعرّف عبارة FROM الجدول المصدر. في هذا المثال، تحتوي العبارة على عامل التشغيل (FROM) متبوعاً بالمعرّف (Contacts).

3. تُعد عبارة WHERE عبارة اختيارية. في المثال، يأتي عامل التشغيل (WHERE) متبوعاً بالتعبير (City="Seattle").

لمزيد من المعلومات عن استعلامات select، راجع إنشاء استعلام query.

فيما يلي قائمة بعبارات SQL الشائعة:

عبارة SQL

وظيفتها

مطلوب ?

SELECT

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

نعم

FROM

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

نعم

WHERE

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

لا

ORDER BY

تحدد كيفية فرز النتائج.

لا

GROUP BY

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

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

HAVING

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

لا

تتكون كل عبارة من عبارات SQL من مصطلحات. فيما يلي قائمة ببعض مصطلحات SQL الشائعة.

مصطلح SQL

التعريف

مثال

معرّف

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

[عنوان البريد الإلكتروني] و"الشركة"

عامل التشغيل

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

AS

قيمة ثابتة

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

42

تعبير

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

>= Products.[Unit Price]

أعلى الصفحة

تخصيص عبارة SELECT

تخصيص

مثال

لعرض قيم مميزة فحسب.

استخدم الكلمة الأساسية DISTINCT في عبارة SELECT.

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

SELECT DISTINCT [txtCustomerPhone] 

لتغيير أسلوب عرض المعرف في طريقة عرض ورقة البيانات لتحسين قابلية القراءة.

استخدم عامل التشغيل AS (كلمة أساسية تمثل إجراءً أو تعدل إجراءً) مع الاسم المستعار للحقل في عبارة SELECT. الاسم المستعار للحقل هو اسم تقوم بتعيينه للحقل لتسهيل قراءة النتائج.

SELECT [txtCustPhone] AS [Customer Phone]

تخصيص عبارة FROM

تخصيص

مثال

يمكنك استخدام اسم مستعار للجدول أو اسم مختلف تعينه لأحد الجداول في جملة select. ويكون الاسم المستعار للجدول مفيداً إذا كان اسم الجدول طويلاً، لا سيما عندما يكون هناك حقول متعددة تحمل اسماً واحداً من جداول مختلفة.

لتحديد بيانات من حقلين مسميين "معرّف"، أحدهما من الجدول tblCustomer والآخر من الجدول tblOrder:

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

استخدم عامل التشغيل AS لتحديد الأسماء المستعارة للجدول في عبارة FROM:

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

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

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

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

قم بالربط بين الجداول بحيث يجمع الاستعلام بين عناصر الجداول ويستبعد العناصر في حالة عدم وجود سجل مطابق في الجدول الآخر

فيما يلي المظهر الذي قد تبدو عليه عبارة FROM:

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

حول استخدام الصلات

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

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

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

اطلع على المزيد من المعلومات عن استخدام الصلات في استعلام.

أعلى الصفحة

تخصيص عبارة WHERE

تتضمن عبارة WHERE معايير تساعد في تقييد عدد العناصر التي يعرضها الاستعلام. راجع أمثلة عن معايير الاستعلام وكيفية عملها.

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

WHERE [LastName]='Bagel'

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

WHERE field1 LIKE field2

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

أعلى الصفحة

التخصيص باستخدام عامل التشغيل UNION

استخدم عامل التشغيل UNION عندما تريد مشاهدة عرض مجمّع للنتائج من عدة استعلامات select مشابهة. على سبيل المثال، إذا كانت قاعدة البيانات تحتوي على جدول "المنتجات" وجدول "الخدمات"، ويحتوي كلا الجدولين على ثلاثة حقول: عرض أو منتج أو خدمة أو سعر أو ضمان إصلاح، أو ضمان إرجاع حصري. على الرغم من أن جدول "المنتجات" يعمل على تخزين معلومات ضمان الإصلاح وجدول "الخدمات" يعمل على تخزين معلومات ضمان الإرجاع، إلا أن كلا المعلومات الأساسية تكون متطابقة. يمكنك استخدام استعلام union لجمع ثلاث حقول من جدولين على النحو التالي:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

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

ملاحظة:  يجب أن تحتوي جملة Select على عدد حقول الإخراج نفسها بالترتيب نفسه وبأنواع البيانات نفسها أو أنواع متوافقة. بالنسبة إلى أغراض استعلام union، يكون نوعي البيانات "الرقمية" و"النصية" متوافقين.

للمزيد من المعلومات عن استعلامات Union، راجع استخدام استعلام union لعرض نتيجة موحدة من استعلامات متعددة.

أعلى الصفحة

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

مشاركة Facebook Facebook Twitter Twitter البريد الإلكتروني البريد الإلكتروني

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

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

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

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

×