مدونة IDev مدونة IDev
random

آخر المواضيع

random
جاري التحميل ...

سلسلة دروس SQL : تحدد البيانات (select,distinct,where,having,order by) باللإضافة ل Jointures


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


تُخزن النتائج في جدول للنتائج يدعى مجموعة النتائج result-set

بناء تصريح SELECT

    SELECT column_name,column_name

    FROM table_name; 
أي استخراج أعمدة محددة وفق أسمائها من جدول محدد. و
    SELECT * FROM table_name;
أي استخراج كل البيانات من الجدول المحدد.

استعراض قاعدة بيانات :

سنستخدم قاعدة البيانات المعروفة جيداً : Northwind
في الأسفل تحديد من جدول الزبائن Customers
دروس SQL

مثال على تحديد عمود

تصريح SQL التالي يحدد اسم الزبون CustomerName و المدينة City من جدول الزبائن
    SELECT CustomerName,City FROM Customers;

مثال على تحديد الكل

تصريح SQL التالي يحدد كافة الأعمدة من جدول الزبائن
    SELECT * FROM Customers;

التنقل في مجموعة النتائج

معظم برامج أنظمة قواعد البيانات تسمح بالتنقل في مجموعة النتائج باستعمل وظائف برمجية مثل :
  • Move-To-First-Record: الانتقال للتسجيل الأول
  • Get-Record-Content: الحصول على محتوى التسجيل
  • Move-To-Next-Record: الانتقال للتسجيل التالي
إلخ ..
وظائف برمجية مثل هذه ليست جزء من سلسلة الشروحات هذه ، لتعلم الوصول للبيانات من خلال وظائف برمجية function calls ، يرجى الاطلاع على شروحات خارجية حول لغة البرمجة PHP أو ASP حيث يوجد الكثير من الشروحات العربية حول هذا الموضوع .

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

بناء تصريح SELECT DISTINCT

    SELECT DISTINCT column_name,column_name

    FROM table_name;

استعراض قاعدة بيانات

سنستخدم في هذا الشرح قاعدة البيانات المعروفة جيداً Northwind
في الأسفل تحديد من جدول الزبائن Customers
دروس SQL

مثال لتصريح SELECT DISTINCT

تصريح SQL التالي يحدد القيم المختلفة فقط من عمود City في جدول الزبائن Customers
    SELECT DISTINCT City FROM Customers;

عبارة WHERE في SQL

تستخدم عبارة WHERE لاستخراج التسجيلات التي تطابق معيار محدد فقط .

بناء عبارة WHERE

    SELECT column_name,column_name

    FROM table_name

    WHERE column_name operator value;

مثال على عبارة WHERE

تصريح SQL التالي يحدد جميع الزبائن من دولة Mexico ضمن جدول الزبائن
    SELECT * FROM Customers

    WHERE Country='Mexico';

الحقول النصية × الحقول العددية

تتطلب SQL علامة تنصيص واحدة ‘ قبل وبعد القيم النصية ، كما في كلمة Mexico في المثال السابق ( معظم أنظمة قواعد البيانات تسمح بعلامة التنصيص المزدوجة أيضاً “ )
وبالمقابل ، القيم العددية يجب ألا تكون محاطة بعلامتي تنصيص :
    SELECT * FROM Customers

    WHERE CustomerID=1;

العمليات في عبارة WHERE

يمكن أن تستخدم العمليات التالية في عبارة WHERE
العمليةالوصف
=يساوي
<>لا يساوي . ملاحظة : في بعض إصدارات SQL قد تكتب هذه العملية بالشكل : =!
>أكبر من
<أصغر من
>=أكبر أو يساوي
<=أصغر أو يساوي
BETWEENبين مجموعة خاصة
LIKEبحث عن نمط (نموذج)

IN
لتحديد قيم عديدة ممكنة في عمود

تستخدم عمليات AND (و) ، OR (أو) لتشريح (فلترة) التسجيلات بناء على أكثر من شرط واحد .
عمليات AND & OR في SQL
عملية AND تعرض التسجيل إذا كان كلاً من الشرط الأول والشرط الثاني محققين
عملية OR تعرض التسجيل اذا كان الشرط الأول أو الشرط الثاني فقط محقق ، أي اذا تحقق أحد الشرطين فقط .
استعراض قاعدة بيانات
سنستخدم قاعدة البيانات المعروفة جيداً : Northwind
في الأسفل تحديد من جدول الزبائن Customers
customers

مثال على عملية AND

تصريح SQL التالي يحدد جميع الزبائن من دولة Germany و مدينة Berlin ضمن جدول الزبائن
    SELECT * FROM Customers

    WHERE Country='Germany'

    AND City='Berlin';

مثال على عملية OR

تصريح SQL التالي يحدد جميع الزبائن من مدينة Berlin أو مدينة München ضمن جدول الزبائن
    SELECT * FROM Customers

    WHERE City='Berlin'

    OR City='München';

اجتماع AND & OR

يمكنك أيضاً جمع AND و OR في تصريح واحد (استخدم الأقواس لتشكيل تعبيرات مركبة )
تصريح SQL التالي يحدد جميع الزبائن من دولة Germany والمدينة يجب أن تكون مساوية لـ Berlin أو München ضمن جدول الزبائن .
    SELECT * FROM Customers

    WHERE Country='Germany'

    AND (City='Berlin' OR City='München');
تستخدم دالة ORDER BY لفرز مجموعة النتائج

دالة ORDER BY في SQL

تستخدم دالة ORDER BY لفرز مجموعة النتائج بعمود واحد أو أكثر
تقوم دالة ORDER BY بفرز التسجيلات افتراضياً بحسب الترتيب الأبجدي (ascending) ، لفرز التسجيلات بعكس الترتيب الأبجدي (descending) ، استعمل دالة DESC .

بناء ORDER BY

    SELECT column_name,column_name

    FROM table_name

    ORDER BY column_name,column_name ASC|DESC;

استعراض قاعدة بيانات

سنستخدم في هذا الشرح قاعدة البيانات المعروفة جيداً Northwind
في الأسفل تحديد من جدول الزبائن Customers
دروس SQL

مثال على ORDER BY

تصريح SQL التالي يحدد جميع الزبائن من جدول الزبائن ، مرتبين بحسب عمود الدولة Country
 SELECT * FROM Customers

 ORDER BY Country; 

مثال على ORDER BY DESC

تصريح SQL التالي يحدد جميع الزبائن من جدول الزبائن ، مرتبين عكس الترتيب الأبجدي بحسب عمود الدولة Country
 SELECT * FROM Customers

 ORDER BY Country DESC;

مثال على ORDER BY لعدة أعمدة

تصريح SQL التالي يحدد جميع الزبائن من جدول الزبائن ، مرتبين بحسب أعمدة الدولة Country واسم الزبون CustomerName
 SELECT * FROM Customers

 ORDER BY Country,CustomerName;

التعليقات



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

إتصل بنا

جميع الحقوق محفوظة

مدونة IDev