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

تحرير جمل 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، راجع انشاء استعلام تحديد بسيط.

فيما يلي قائمة بعبارات 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 ايضا ل# ضم مصادر البيانات ل# الاعمده التي تحتوي علي مطابقه البيانات، و# لكن انواع بيانات مختلفه. هذا هنا تظهر منذ، لا يمكنك انشاء صله بين الحقول التي تحتوي علي انواع بيانات مختلفه. استخدام حقل واحد ك# معيار ل# حقل اخر، ب# استخدام الكلمه الاساسيه مثل . علي سبيل المثال، اذا كنت تريد استخدام بيانات من الاصول و# جدول الموظفين، فقط عند كتابه نوع اصل في الاصل الحقل في الجدول الاصول يحتوي علي الرقم 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، يكون نوعي البيانات "الرقمية" و"النصية" متوافقين.

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

اعلي الصفحه

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

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

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

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

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

×