يتم استخدام جملة SQL DISTINCT لإزالة القيم المكررة من نتائج الاستعلام. فهو يضمن أن الإخراج يعرض فقط السجلات الفريدة للعمود (الأعمدة) المحددة.
مثال: أولا سوف نقوم بذلك يخلق قاعدة بيانات SQL تجريبية وجدول سنستخدم فيه الأمر Distinct Clause.
استفسار:
SELECT DISTINCT Department
FROM Employees;
الإخراج:
سلسلة جافا متسلسلة
بناء الجملة:
SELECT DISTINCT column1 column2
FROM table_name
- العمود 1 العمود 2: أسماء حقول الجدول.
- اسم_الجدول: الجدول من حيث نريد جلب السجلات.
ملحوظة: إذا استخدمت على أعمدة متعددة
DISTINCTتُرجع مجموعات فريدة من القيم عبر تلك الأعمدة.
أمثلة على DISTINCT في SQL
لنقم بإنشاء جدول نموذجي وملئه ببعض الإدخالات المكررة. سنرى بعض الأمثلة على استخدام الكلمة الأساسية DISTINCT مع نموذج جدول الطلاب.
سلسلة قابلة للمقارنة
المثال 1: جلب أسماء فريدة من حقل الاسم.
يقوم الاستعلام بإرجاع الأسماء الفريدة فقط مما يؤدي إلى إزالة الإدخالات المكررة من الجدول.
استفسار:
SELECT DISTINCT NAME FROM students; الإخراج:
المثال 2: جلب مجموعات فريدة من أعمدة متعددة
يسترد هذا الاستعلام مجموعات مميزة من NAME وAGE - إذا كان هناك صفين لهما نفس الاسم والعمر، فسيظهر واحد منهما فقط في مجموعة النتائج.
جافا سكريبت المتغير العالمي
استفسار:
SELECT DISTINCT NAME AGE FROM students;الإخراج:
مثال 3: استخدام DISTINCT مع جملة ORDER BY
يمكننا دمج الكلمة الأساسية DISTINCT مع الطلب حسب جملة لتصفية القيم الفريدة أثناء فرز مجموعة النتائج. يقوم هذا الاستعلام باسترداد الأعمار الفريدة من جدول الطلاب وفرزها بترتيب تصاعدي.
استفسار:
SELECT DISTINCT AGE FROM students ORDER BY AGE; الإخراج:
قائمة.فرز جافا
المثال 4: استخدام DISTINCT مع الدوال المجمعة (على سبيل المثال COUNT())
هنا سوف نقوم بالتحقق من عدد() دالة تحتوي على جملة DISTINCT والتي ستعطي العدد الإجمالي للطلاب باستخدام الدالة COUNT().
استفسار:
SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;الإخراج:
مثال 5: التمييز بين القيم الخالية
في SQL، تعامل الكلمة الأساسية DISTINCT NULL كقيمة فريدة. يتم التعامل مع NULL كقيمة مميزة لذلك ستظهر مرة واحدة فقط إذا كان هناك عدة قيم خالية.
استفسار:
INSERT INTO students (ROLL_NO NAME ADDRESS PHONE AGE)
VALUES (13 'John Doe' '123 Unknown Street' '9876543216' NULL);
SELECT DISTINCT AGE FROM students;
الإخراج:
إنشاء اختبار