إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    SQL تكرار إسم الأعمدة الموضوعة في الإستعلام

    مقدمة

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

    عند جلب البيانات من الجداول, يمكنك ذكر إسم العمود في نفس الإستعلام أكثر من مرة فترجع قيمته أكثر من مرة في الجدول الذي سينتج عن الإستعلام.
    و بما أنك تستطيع التعديل على البيانات التي ترجع كما رأيت في الدرس السابق, يمكنك الإستفادة كثيراً إذا عرفت كيف تستخدم الأسلوبين مع بعض للتعامل البيانات.

    سنضع لك عدة أمثلة توضح لك كيف تستطيع استرجاع البيانات و عرضها بالطريقة التي تشاء.

    تجهيز قاعدة البيانات التي سنطبق عليها

    قم بتنفيذ الإستعلام التالي حتى لإنشاء قاعدة بيانات جديدة إسمها harmash و إنشاء جدول فيها إسمه products يحتوي على بيانات 6 منتجات.

    الإستعلام

    -- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
    DROP DATABASE IF EXISTS harmash;
    
    -- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
    CREATE DATABASE harmash;
    
    -- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
    USE harmash;
    
    -- يتألف من أربعة أعمدة products هنا قمنا بإنشاء جدول جديد إسمه
    -- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
    CREATE TABLE products (
    	id    INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        name  VARCHAR(50),
    	price DECIMAL(7,2)
    );
    
    -- هنا قمنا بإضافة 6 أسطر في الجدول, أي أضفنا معلومات 6 منتجات
    -- لاحظ أننا لم نحدد أسماء الأعمدة التي سنضع فيها البيانات لأننا قمنا بملئ جميع المعلومات
    -- في البداية هو حتى يكون عدد القيم الموضوعة يساوي عدد أعمدة الجدول null سبب وضع الكلمة
    -- ستقوم قاعدة البيانات بوضع رقم تعرفة مختلف لكل سطر null مكان الكلمة
    INSERT INTO products VALUES (null, 'Keyboard', 15.00);
    INSERT INTO products VALUES (null, 'Camera', 44.99);
    INSERT INTO products VALUES (null, 'HDD 1TB', 70.00);
    INSERT INTO products VALUES (null, 'SSD 1TB', 274.66);
    INSERT INTO products VALUES (null, 'Mouse', 8.50);
    INSERT INTO products VALUES (null, 'Table', 44.55);
    		

    بعد تنفيذ الإستعلام السابق في phpMyAdmin سيتم إنشاء قاعدة البيانات harmash و إنشاء الجدول products بداخلها.
    قم بالنقر على إسم قاعدة البيانات harmash من القائمة اليسرى حتى تبدأ بالتعامل معها و تطبيق ما ستتعلمه في هذا الدرس.

    مثال حول وضع إسم العمود أكثر من مرة في الإستعلام

    الإستعلام التالي يجلب إسم المنتج, سعره, ضريبة قيمتها 10 بالمئة من أصل سعر المنتج, سعر المنتج النهائي بعد الضريبة.

    لقراءة المعلومات التي سنعرضها بشكل مفهوم فعلنا التالي:

    • العمود الذي يعرض أسماء المنتجات قمنا بتسميته Product
    • العمود الذي يعرض أسعار المنتجات قمنا بتسميته Price ($) حتى تكون العملة التي نتعامل معها واضحة.
    • العمود الذي يعرض نسية الضريبة على كل منتج قمنا بتسميته Tax ($)
    • العمود الذي يعرض أسعار المنتجات بعد الضريبة قمنا بتسميته Final Price ($)

    الإستعلام

    SELECT 
    	name AS 'Product',                            -- إسم المنتج عرضناه كما هو
        price AS 'Price ($)',                         -- سعر المنتج عرضناه كما هو
        price * 0.1 AS 'Tax ($)',                     -- نسبة الضريبة 10% تساوي سعر المنتج × 0.1
        price + (price * 0.1) AS 'Final Price ($)'    -- سعر المنتج بعد الضريبة = سعر المنتج + نسبة الضريبة
    FROM
    	products
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

    Product Product Price ($) Tax ($) Final Price ($)
    Keyboard 15.00 1.500 16.500
    Camera 44.99 4.499 49.489
    HDD 1TB 70.00 7.000 77.000
    SSD 1TB 274.66 27.466 302.126
    Mouse 8.50 0.850 9.350
    Table 44.55 4.455 49.005

    إذاً من خلال سعر المنتج فقط, قمنا بتوليد عامودين إضافيين عرضنا فيهما نسبة الضريبة و سعر المنتج بعد الضريبة.
    طبعاً بإمكانك التعديل و الإضافة على الإستعلام كيفما شئت, فمثلاً يمكنك وضع حسم على سعر المنتج بنسبة محددة بدل أن تضع ضريبة عليه.

    الدالة FORMAT()

    عند التعديل على القيم التي سيرجعها الإستعلام قد يتغير نوعها كما لاحظت في الأمثلة السابقة.
    فمثلاً, عند عرض أسعار المنتجات كما هي كنا نلاحظ أنه يوجد رقمين فقط بعد الفاصلة و لكن عند إجراء أي عملية حسابية على هذا السعر لاحظنا أن الأسعار أصبح يظهر فيها أربع أرقام بعد الفاصلة لأن قاعدة البيانات قامت بتحويل نوع السعر من DECIMAL إلى FLOAT عند إجراء العمليات الحسابية.

    إذا كنت تريد تحديد عدد الأرقام التي ستظهر بعد الفاصلة يمكنك استخدام الدالة FORMAT().
    عند استدعاء هذه الدالة يجب أن تمرر لها رقمين. الأول هو الرقم الذي تريد تحويله, الثاني يمثل عدد الأرقام التي تريد عرضها بعد الفاصلة.


    المثال الأول

    إذا قمت بتنفيذ الإستعلام التالي سيعرض لك الرقم الموضوع كما هو بالضبط.

    الإستعلام

    SELECT 10.55 AS 'Number without format'
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

    Number without format
    10.55


    المثال الثاني

    إذا قمت بتنفيذ الإستعلام التالي سيعرض لك الرقم الموضوع بدون فاصلة و سيتم وضع أقرب رقم له.

    الإستعلام

    SELECT FORMAT(10.55, 0) AS 'Number with format'
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

    Number with format
    11

    مثال حول تعديل القيم التي سيرجعها الإستعلام بواسطة الدالة FORMAT()

    الإستعلام التالي يجلب إسم المنتج, سعره بالدولار, باليورو, بالليرة اللبنانية و بالريال السعودي.

    لقراءة المعلومات التي سنعرضها بشكل مفهوم فعلنا التالي:

    • العمود الذي يعرض أسماء المنتجات قمنا بتسميته Product
    • العمود الذي يعرض أسعار المنتجات بالدولار قمنا بتسميته Price ($) و هو نفسه السعر الأصلي لأننا إفترضنا أن الأسعار تم إدخالها بالأساس بالدولار.
    • العمود الذي يعرض أسعار المنتجات باليورو قمنا بتسميته Price (€)
    • العمود الذي يعرض أسعار المنتجات بالليرة قمنا بتسميته Price (LL)
    • العمود الذي يعرض أسعار المنتجات بالريال قمنا بتسميته Price (SAR)

    ملاحظة: السعر بالليرة و الريال لم نعرضها مع فواصل. السعر بالدولار عرضناه كما هو. السعر باليورو عرضناه برقمين بعد بالفاصلة.

    الإستعلام

    SELECT 
    	name AS 'Product',
        price AS 'Price ($)',                      -- السعر بالدولار عرضناه كما هو لأن السعر الأساسي بالدولار
        FORMAT(price * 0.9, 2) AS 'Price (€)',     -- 0.9 للتحويل من الدولار إلى اليورو ضربنا السعر بنسبة
        FORMAT(price * 1500, 0) AS 'Price (LL)',   -- 1500 للتحويل من الدولار إلى الليرة ضربنا السعر بنسبة
        FORMAT(price * 3.75, 0) AS 'Price (SAR)'   -- 3.75 للتحويل من الدولار إلى الريال ضربنا السعر بنسبة
    FROM
    	products
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.

    Product Price ($) Price (€) Price (LL) Price (SAR)
    Keyboard 15.00 13.50 22,500 56
    Camera 44.99 40.49 67,485 169
    HDD 1TB 70.00 63.00 105,000 263
    SSD 1TB 274.66 247.19 411,990 1,030
    Mouse 8.50 7.65 12,750 32
    Table 44.55 40.10 66,825 167
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب