SELECT

From binaryoption
Jump to navigation Jump to search
Баннер1

```wiki

جملة SELECT في SQL للمبتدئين

جملة `SELECT` هي جوهر لغة الاستعلامات الهيكلية (SQL)، وهي اللغة المستخدمة للتفاعل مع قواعد البيانات العلائقية. تسمح لك `SELECT` باسترجاع البيانات من جدول واحد أو أكثر، مع إمكانية تصفية البيانات وترتيبها وتجميعها وتنفيذ عمليات حسابية عليها. هذا المقال موجه للمبتدئين ويهدف إلى شرح أساسيات جملة `SELECT` بطريقة مفصلة وواضحة.

ما هي قاعدة البيانات العلائقية؟

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

بناء جملة SELECT الأساسي

أبسط شكل لجملة `SELECT` هو:

```sql SELECT column1, column2, ... FROM table_name; ```

  • `SELECT`: الكلمة المفتاحية التي تحدد أننا نريد استرجاع البيانات.
  • `column1, column2, ...`: قائمة بالأعمدة التي نريد استرجاعها. يمكن استخدام `*` لاسترجاع جميع الأعمدة في الجدول.
  • `FROM`: الكلمة المفتاحية التي تحدد الجدول الذي نريد استرجاع البيانات منه.
  • `table_name`: اسم الجدول الذي نريد الاستعلام عنه.

مثال: لنفترض أن لدينا جدولاً باسم `customers` يحتوي على الأعمدة `id`, `name`, `email`, و `city`. لاسترجاع أسماء وعناوين البريد الإلكتروني لجميع العملاء، نستخدم:

```sql SELECT name, email FROM customers; ```

استرجاع جميع الأعمدة

كما ذكرنا سابقاً، يمكن استخدام `*` لاسترجاع جميع الأعمدة في الجدول:

```sql SELECT * FROM customers; ```

هذه الجملة ستعيد جميع الأعمدة (`id`, `name`, `email`, `city`) لجميع الصفوف في جدول `customers`.

جملة WHERE لتصفية البيانات

غالبًا ما نرغب في استرجاع البيانات التي تستوفي شروطًا معينة. لتحقيق ذلك، نستخدم جملة `WHERE`:

```sql SELECT column1, column2, ... FROM table_name WHERE condition; ```

  • `WHERE`: الكلمة المفتاحية التي تحدد الشرط الذي يجب أن تستوفيه البيانات.
  • `condition`: تعبير منطقي يحدد الشرط.

مثال: لاسترجاع أسماء وعناوين البريد الإلكتروني للعملاء الذين يعيشون في مدينة "New York"، نستخدم:

```sql SELECT name, email FROM customers WHERE city = 'New York'; ```

عوامل المقارنة في جملة WHERE

يمكن استخدام عوامل المقارنة المختلفة في جملة `WHERE`:

  • `=`: يساوي
  • `<>` أو `!=`: لا يساوي
  • `>`: أكبر من
  • `<`: أصغر من
  • `>=`: أكبر من أو يساوي
  • `<=`: أصغر من أو يساوي

مثال: لاسترجاع العملاء الذين لديهم `id` أكبر من 10، نستخدم:

```sql SELECT * FROM customers WHERE id > 10; ```

استخدام العوامل المنطقية

يمكن دمج عدة شروط في جملة `WHERE` باستخدام العوامل المنطقية:

  • `AND`: يجب أن يكون كلا الشرطين صحيحين.
  • `OR`: يجب أن يكون أحد الشرطين على الأقل صحيحًا.
  • `NOT`: ينفي الشرط.

مثال: لاسترجاع العملاء الذين يعيشون في مدينة "New York" ولديهم `id` أكبر من 5، نستخدم:

```sql SELECT * FROM customers WHERE city = 'New York' AND id > 5; ```

جملة ORDER BY لترتيب البيانات

لترتيب البيانات المسترجعة، نستخدم جملة `ORDER BY`:

```sql SELECT column1, column2, ... FROM table_name ORDER BY column1 ASC | DESC; ```

  • `ORDER BY`: الكلمة المفتاحية التي تحدد العمود الذي نريد ترتيب البيانات بناءً عليه.
  • `ASC`: (اختياري) لترتيب البيانات تصاعديًا (افتراضي).
  • `DESC`: لترتيب البيانات تنازليًا.

مثال: لاسترجاع العملاء مرتبين حسب الاسم تصاعديًا، نستخدم:

```sql SELECT * FROM customers ORDER BY name ASC; ```

جملة LIMIT لتقييد عدد النتائج

لتقييد عدد الصفوف التي يتم استرجاعها، نستخدم جملة `LIMIT`:

```sql SELECT column1, column2, ... FROM table_name LIMIT number_of_rows; ```

  • `LIMIT`: الكلمة المفتاحية التي تحدد عدد الصفوف التي سيتم استرجاعها.
  • `number_of_rows`: عدد الصفوف المراد استرجاعها.

مثال: لاسترجاع أول 5 عملاء، نستخدم:

```sql SELECT * FROM customers LIMIT 5; ```

استخدام DISTINCT لاسترجاع القيم الفريدة

لاسترجاع القيم الفريدة من عمود معين، نستخدم الكلمة المفتاحية `DISTINCT`:

```sql SELECT DISTINCT column1 FROM table_name; ```

مثال: لاسترجاع المدن الفريدة من جدول `customers`:

```sql SELECT DISTINCT city FROM customers; ```

الدوال المجمعة

تسمح لنا الدوال المجمعة بإجراء عمليات حسابية على مجموعات من الصفوف. بعض الدوال المجمعة الشائعة تشمل:

  • `COUNT()`: تحسب عدد الصفوف.
  • `SUM()`: تحسب مجموع القيم في عمود.
  • `AVG()`: تحسب متوسط القيم في عمود.
  • `MIN()`: تجد أصغر قيمة في عمود.
  • `MAX()`: تجد أكبر قيمة في عمود.

مثال: لحساب عدد العملاء في جدول `customers`:

```sql SELECT COUNT(*) FROM customers; ```

جملة GROUP BY لتجميع البيانات

لتقسيم البيانات إلى مجموعات بناءً على قيم عمود معين، نستخدم جملة `GROUP BY`:

```sql SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1; ```

  • `GROUP BY`: الكلمة المفتاحية التي تحدد العمود الذي سيتم التجميع بناءً عليه.
  • `aggregate_function()`: دالة مجمعة تطبق على كل مجموعة.

مثال: لحساب عدد العملاء في كل مدينة:

```sql SELECT city, COUNT(*) FROM customers GROUP BY city; ```

جملة HAVING لتصفية المجموعات

لتصفية المجموعات التي تم إنشاؤها بواسطة `GROUP BY`، نستخدم جملة `HAVING`:

```sql SELECT column1, aggregate_function(column2) FROM table_name GROUP BY column1 HAVING condition; ```

  • `HAVING`: الكلمة المفتاحية التي تحدد الشرط الذي يجب أن تستوفيه المجموعات.

مثال: لعرض المدن التي تحتوي على أكثر من 5 عملاء:

```sql SELECT city, COUNT(*) FROM customers GROUP BY city HAVING COUNT(*) > 5; ```

الاستعلامات الفرعية (Subqueries)

الاستعلام الفرعي هو استعلام `SELECT` مضمن داخل استعلام `SELECT` آخر. يمكن استخدام الاستعلامات الفرعية في جملة `WHERE` أو `SELECT` أو `FROM`.

مثال: لاسترجاع العملاء الذين طلبوا منتجات سعرها أكبر من 100:

```sql SELECT * FROM customers WHERE id IN (SELECT customer_id FROM orders WHERE product_id IN (SELECT id FROM products WHERE price > 100)); ```

التعامل مع القيم الخالية (NULL)

القيم الخالية تمثل بيانات مفقودة أو غير معروفة. يجب التعامل معها بحذر عند كتابة الاستعلامات. يمكن استخدام العامل `IS NULL` للتحقق من القيم الخالية:

```sql SELECT * FROM customers WHERE email IS NULL; ```

ويمكن استخدام العامل `IS NOT NULL` للتحقق من القيم غير الخالية:

```sql SELECT * FROM customers WHERE email IS NOT NULL; ```

الخلاصة

جملة `SELECT` هي أداة قوية ومرنة لاسترجاع البيانات من قواعد البيانات العلائقية. من خلال فهم بناء الجملة الأساسي والعوامل المختلفة، يمكنك كتابة استعلامات معقدة لاسترجاع البيانات التي تحتاجها. هذا المقال قدم لك الأساسيات، ويمكنك الآن البدء في استكشاف المزيد من الميزات المتقدمة لـ `SELECT` و SQL.

الروابط ذات الصلة

روابط إضافية لمواضيع متعلقة بالخيارات الثنائية والتحليل

```

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер