recent
أخبار ساخنة

العبارة SELECT في SQL

الصفحة الرئيسية

 

عبارة SELECT في SQL

يتم استخدام عبارة SELECTلتحديد البيانات واظهارها أو استخراجها من قاعدة البيانات وعرضها. يتم تخزين البيانات التي تم استرجاعها وعرضها في جدول نتائج يسمى مجموعة النتائج Result-Set.

بناء جملة SELECT

الشكل العام لاستخدام وبناء أمر SELECTفي لغة SQL(أي SELECT Syntax) يتم كما يلي:

SELECT Column1, Column2, ... 

From table_name;

حيث يمثل العمود الأول Column 1، والعمود الثاني Column 2أسماء حقول الجدول الذي تريد تحديد واستخراج البيانات منه. ويمثل الاسم table_name اسم ذلك الجدول. إذا كنت تريد تحديد جميع الحقول المتوفرة في الجدول، فاستخدم بناء الجملة التالية:

SELECT * FROM table_name; 

مثال على استخدام أمر SELECT في SQL

الجدول التالي يوضح مجموعة مختارة من جدول "الزبائن" Customers

Country

City

Address

CustomerName

CustomerID

UK

London

120 Hanover Sq.

John

100

USA

New York

109 E 16th St

Marry

200

Jordan

Amman

Al-Mutanabbi St.

Ahmad

300

USA

New York

110 E 20th St

Ali

400

Egypt

Cairo

El Tahrir St

Ahmad

500

 مثال 1: تحديد وإظهار حقول محددة ومختارة باستخدام SELECT

فرضاً أننا أردنا اظهار "اسم الزبون" CustomerNameو"المدينة" التي يعيش فيها فقط City. تحدد جملة SQLالتالية عمودي "CustomerName" و "City" من جدول "Customers":

SELECT CustomerName, City FROM Customers; 

ليظهر الجدول التالي:

City

CustomerName

London

John

New York

Marry

Amman

Ahmad

New York

Ali

Cairo

Ahmad

 

مثال 2: تحديد وإظهار جميع الحقول (الأعمدة) باستخدام الأمر SELECT *

تقوم عبارة SQLالتالية بتحديد وإظهار جميع الأعمدة (أي الحقول) من جدول "الزبائن" Customers:

SELECT * FROM Customers; 

العبارة SELECT DISTINCT في SQL

يتم استخدام عبارة SELECT DISTINCT لإرجاع قيم مميزة (مختلفة) فقط واستثناء اظهار المكرر منها.

داخل الجدول، يحتوي العمود (الحقل) غالباً على العديد من القيم المكررة؛ وأحياناً تريد فقط سرد وإظهار القيم المختلفة فقط أي (Distinct) ومن دون أن يتم إظهار المكرر من تلك القيم.

بناء جملة SELECT DISTINCT

الشكل العام لاستخدام وبناء الأمر SELECT DISTINCTفي لغة SQL(أي SELECT DISTINCT Syntax) تتم كما يلي:

SELECT DISTINCT Column1, Column2

FROM table_name; 

حيث يمثل العمود الأول Column 1، والعمود الثاني Column 2أسماء حقول الجدول الذي تريد تحديد واستخراج البيانات منها بدون تكرار.

مثال على استخدام أمر SELECT DISTINCT في SQL

الجدول التالي يوضح مجموعة مختارة من جدول "الزبائن" Customers

Country

City

Address

CustomerName

CustomerID

UK

London

120 Hanover Sq.

John

100

USA

New York

109 E 16th St

Marry

200

Jordan

Amman

Al-Mutanabbi St.

Ahmad

300

USA

New York

110 E 20th St

Ali

400

Egypt

Cairo

El Tahrir St

Ahmad

500

 

نلاحظ في الجدول أعلاه، أن الحقل (العمود) Country يشمل على قيمة مكررة مثل USA وأن حقل الأسماء CustomerName يشمل على اسم مكرر مثل Ahmad، ومن هنا يأتي دور الأمر SELECT DISTINCTوالذي يقوم بإظهار القيم في العمود أو الحقل المطلوب من دون أن يظهر القيم المكررة الأخرى.

مثال على الأمر SELECT بدون DISTINCT

كما نعلم سابقاً، تقوم جملة SQL التالية بإظهار جميع القيم (بما في ذلك القيم المتكررة) من العمود "البلد" Country في جدول "الزبائن" Customersكما يلي:

SELECT Country FROM Customers; 



Country

UK

USA

Jordan

USA

Egypt

 لاحظ أنه تم اظهار الكلمة USA أكثر من مرة.

مثال على الأمر SELECT مع DISTINCT

الآن، دعنا نستخدم الكلمة الأساسية DISTINCT مع عبارة SELECT أعلاه ونرى النتيجة.

SELECT DISTINCT Country FROM Customers; 

الجدول الظاهر من استخدام العبارة السابقة هو

 Country

UK

USA

Jordan

Egypt

 

لاحظ أنه تم اظهار الكلمة USAمرة واحدة ولم يتم اظهار القيمة المتكررة الأخرى.

 حساب عدد مدخلات الحقل غير المتكررة في جدول قواعد بيانات SQL

في بعض الأحيان، وعند وجود قيم متكررة في نفس الحقل، يتم استخدام دالة COUNT لحساب عدد المدخلات المتمايزة المختلفة في الحقل المطلوب كما يلي

SELECT COUNT (DISTINCT Country) FROM Customers; 

ملاحظة: المثال أعلاه لن يعمل في بيئة ميكروسوفت أكسس Microsoft Access؛ لأن الأمر COUNT(DISTINCT column_name) غير معتمد في قواعد بيانات Microsoft Access. لذلك، وكبديل لذلك الأمر، تستخدم قواعد بيانات أكسس Accessالأمر التالي:

SELECT COUNT (*) AS DistinctCountries

FROM (SELECT DISTINCT Country FROM Customers); 

author-img
العلم للجميع

تعليقات

ليست هناك تعليقات
إرسال تعليق
    google-playkhamsatmostaqltradent