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

103 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: SQL Syntax
localeTitle: بناء جملة 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](https://github.com/SteveChevalier/guide-images/blob/master/syntax01.JPG)
### حيث البند (و / أو ، 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](https://github.com/SteveChevalier/guide-images/blob/master/syntax02.JPG)
### اطلب بواسطة (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](https://github.com/SteveChevalier/guide-images/blob/master/syntax03.JPG)
### مجموعة من قبل وبعد
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](https://github.com/SteveChevalier/guide-images/blob/master/syntax04.JPG)
_كما هو الحال مع كل هذه الأشياء SQL هناك أكثر من ذلك بكثير من ما هو موجود في هذا الدليل التمهيدي. آمل أن يمنحك هذا على الأقل ما يكفي للبدء. يرجى الاطلاع على دليل مدير قاعدة البيانات الخاص بك والمتعة محاولة خيارات مختلفة بنفسك._