freeCodeCamp/guide/arabic/sql/sql-syntax/index.md

5.5 KiB

title localeTitle
SQL Syntax بناء جملة SQL

بناء جملة SQL

المقدمة

يوفر هذا الدليل وصفًا أساسيًا وعالي المستوى لبنية جملة عبارات SQL.

تعتبر SQL معيارًا دوليًا (ISO) ، ولكنك ستجد العديد من الاختلافات بين عمليات التنفيذ. يستخدم هذا الدليل MySQL كمثال. إذا كنت تستخدم أحد مديري قواعد البيانات العلائقية الأخرى (DBMS) ، فستحتاج إلى التحقق من دليل نظام إدارة قواعد البيانات (DBMS) هذا إذا لزم الأمر.

ما سوف نغطي

  • الاستخدام (يحدد قاعدة البيانات التي سيستخدمها البيان)
  • اختر من جمل
  • حيث البند (و / أو ، IN ، بين ، LIKE)
  • اطلب بواسطة (ASC، DESC)
  • مجموعة من قبل وبعد

كيف يستعمل هذا

يتم استخدام هذا لتحديد قاعدة البيانات التي تحتوي على جداول عبارات SQL الخاصة بك:

use fcc_sql_guides_database; -- select the guide sample database

اختر من جمل

يُستخدم الجزء Select عادةً لتحديد أعمدة البيانات التي تريد إظهارها في النتائج. هناك أيضًا خيارات يمكنك استخدامها لعرض البيانات التي لا تمثل عمودًا في الجدول.

يوضح هذا المثال عمودين تم تحديدهما من جدول "الطالب" ، واثنين من الأعمدة المحسوبة. أول عمود محسوب هو رقم لا معنى له ، والآخر هو تاريخ النظام.

select studentID, FullName, 3+2 as five, now() as currentDate from student;

صورة 1

حيث البند (و / أو ، IN ، بين و LIKE)

يتم استخدام جملة WHERE لتحديد عدد الصفوف التي يتم إرجاعها.

في هذه الحالة سيتم استخدام كل خمسة من هذه سخيفة إلى حد ما حيث جملة.

قارن هذه النتيجة بعبارة SQL المذكورة أعلاه لمتابعة هذا المنطق.

سيتم عرض الصفوف التالية:

  • امتلاك هويات الطلاب بين 1 و 5 (ضمنا)
  • أو studentID = 8
  • أو لديك "Maxmimo" في الاسم

المثال التالي مشابه ، لكنه يحدد كذلك أنه إذا كان لدى أي من الطلاب درجات SAT معينة (1000 ، 1400) ، فلن يتم تقديمها:

select studentID, FullName, sat_score, recordUpdated from student where ( studentID between 1 and 5 or studentID = 8 or FullName like '%Maximo%' ) and sat_score NOT in (1000, 1400);

صورة 1

اطلب بواسطة (ASC، DESC)

ترتيب يمنحنا طريقة لفرز مجموعة النتائج بواسطة عنصر واحد أو أكثر من العناصر في قسم SELECT. في ما يلي القائمة نفسها الواردة أعلاه ، ولكن تم فرزها حسب الطلاب بالاسم الكامل. ترتيب الفرز الافتراضي هو تصاعدي (ASC) ، ولكن للفرز بالترتيب المعاكس (تنازلي) تستخدم DESC ، كما في المثال أدناه:

select studentID, FullName, sat_score from student where (studentID between 1 and 5 -- inclusive or studentID = 8 or FullName like '%Maximo%') and sat_score NOT in (1000, 1400) order by FullName DESC;

صورة 1

مجموعة من قبل وبعد

Group By يعطينا طريقة لدمج الصفوف والبيانات الإجمالية. يشبه جملة "تضمين" الجملة الواردة أعلاه ، باستثناء أنها تعمل على البيانات المجمعة.

هذه البيانات مأخوذة من بيانات مساهمات الحملة التي نستخدمها في بعض هذه الأدلة.

يجيب بيان SQL هذا على السؤال التالي: "أي من المرشحين حصلوا على أكبر عدد من المساهمات (وليس مبلغًا بالقيمة ، ولكن عدد (*)) في عام 2016 ، ولكن فقط أولئك الذين حصلوا على أكثر من 80 اشتراكًا؟"

إن ترتيب مجموعة البيانات هذه بترتيب تنازلي (DESC) يضع المرشحين الذين لديهم أكبر عدد من المساهمات في أعلى القائمة.

select Candidate, Election_year, sum(Total_$), count(*) from combined_party_data where Election_year = 2016 group by Candidate, Election_year having count(*) > 80 order by count(*) DESC;

صورة 1

كما هو الحال مع كل هذه الأشياء SQL هناك أكثر من ذلك بكثير من ما هو موجود في هذا الدليل التمهيدي. آمل أن يمنحك هذا على الأقل ما يكفي للبدء. يرجى الاطلاع على دليل مدير قاعدة البيانات الخاص بك والمتعة محاولة خيارات مختلفة بنفسك.