SELECT
```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.
الروابط ذات الصلة
- قاعدة البيانات العلائقية
- SQL
- جملة WHERE
- جملة ORDER BY
- جملة GROUP BY
- جملة HAVING
- الاستعلامات الفرعية
- القيم الخالية (NULL)
- الدوال المجمعة
- الفهارس (Indexes)
روابط إضافية لمواضيع متعلقة بالخيارات الثنائية والتحليل
- تحليل الشموع اليابانية
- مؤشر المتوسط المتحرك
- مؤشر RSI
- مؤشر MACD
- استراتيجية 60 ثانية
- استراتيجية مارتينجال
- استراتيجية فيبوناتشي
- تحليل حجم التداول
- التحليل الفني
- الاتجاهات (Trends)
- إدارة رأس المال
- التحليل الأساسي
- مخاطر الخيارات الثنائية
- استراتيجيات الخيارات الثنائية للمبتدئين
- التحليل النفسي للسوق
- تداول الخيارات الثنائية وقت الأخبار
- تداول الخيارات الثنائية باستخدام أنماط الرسوم البيانية
- تداول الخيارات الثنائية باستخدام خطوط الدعم والمقاومة
- تداول الخيارات الثنائية باستخدام مستويات فيبوناتشي
- تداول الخيارات الثنائية باستخدام أنماط الشموع الانعكاسية
- تداول الخيارات الثنائية باستخدام مؤشر ستوكاستيك
- تداول الخيارات الثنائية باستخدام مؤشر بولينجر باندز
- تداول الخيارات الثنائية باستخدام مؤشر بارابوليك سار
- تداول الخيارات الثنائية باستخدام مؤشر ايتشيموكو
- تداول الخيارات الثنائية باستخدام مؤشر أون بالانس فولتوم
- تداول الخيارات الثنائية باستخدام مؤشر الاتجاه المتوسط الحقيقي (ADX)
```
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين