إعلان
دورة تطوير التطبيقات باستخدام لغة 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 دمج الأعمدة التي تم جلبها من قاعدة البيانات

    مفهوم دمج الأعمدة التي تم جلبها من قاعدة البيانات

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

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

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


    الشكل العام لدمج قيم الأعمدة

    إذا كنت تتعامل مع أرقام, يمكنك وضع رمز الجمع + أو رمز الطرح - أو رمز الضرب * أو رمز القسمة / بينهم و عندها ستحصل على ناتج العملية.

    -- يمكنك تطبيق هذا الشكل
    SELECT column1 + column2 + ... 
    
    -- أو يمكنك إضافة إسم للعمود الذي سينتج عن دمج الأعمدة
    SELECT column1 + column2 + ... AS 'newly_column_name'
    	

    إذا كنت تتعامل مع نصوص أو قيم تريدها أن تعرض كما هي, يمكنك دمجمهم بواسطة الدالة CONCAT() كالتالي.

    -- يمكنك تطبيق هذا الشكل
    SELECT CONCAT(column1 + column2 + ...)
    
    -- أو يمكنك إضافة إسم للعمود الذي سينتج عن دمج الأعمدة
    SELECT CONCAT(column1 + column2 + ...) AS 'newly_column_name'
    	

    أمثلة بسيطة على دمج القيم الرقمية و النصية

    جميع الأمثلة التالية تتنفذ بشكل مباشر, أي لا تحتاج أن تحدد أي قاعدة بيانات قبلها.


    المثال الأول

    في المثال التالي قمنا باستخدام الأمر SELECT بشكل يجلب لنا ناتج جمع ثلاث أرقام.
    ملاحظة: النتيجة ستكون عبارة عن جدول لأن الأمر SELECT دائماً يرجع النتيجة كجدول.

    الإستعلام

    SELECT 5 + 2 + 7;
    		

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

    5 + 2 + 7
    14


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

    في المثال التالي قمنا باستخدام الأمر SELECT بشكل يجلب لنا ناتج جمع ثلاث أرقام مع وضع إسم للعمود الذي ستظهر فيه النتيجة.

    الإستعلام

    SELECT 5 + 2 + 7 AS 'Total';
    		

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

    Total
    14


    في المثال التالي حاولنا دمج كلمتين عند استخدام الأمر SELECT حتى يظهروا كنص واحد.
    ملاحظة: هنا لن يظهر خطأ في الإستعلام و لكننا سنحصل على نتيجة خطائة, لأننا لم ندمج النصوص بواسطة الدالة CONCAT().

    الإستعلام

    SELECT 'Mhamad' + 'Harmush';
    		

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

    'Mhamad' + 'Harmush'
    0


    المثال الرابع

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

    الإستعلام

    SELECT CONCAT('Mhamad', 'Harmush') AS 'Full Name';
    		

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

    Full Name
    MhamadHarmush


    المثال الخامس

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

    الإستعلام

    SELECT CONCAT('Mhamad', ' ' ,'Harmush') AS 'Full Name';
    		

    سنحصل على النتيجة التالية عند تنفيذ الإستعلام.
    نلاحظ أنه تم عرض الكلمتين كنص واحد و و تم وضع المسافة الفارغة التي أضفناها بينهما كما أردنا.

    Full Name
    Mhamad Harmush

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

    قم بتنفيذ الإستعلام التالي حتى تنشئ قاعدة بيانات جديدة إسمها harmash و تنشئ فيها جدول إسمه employees يحتوي على بيانات 10 موظفين.

    الإستعلام

    -- سيتم حذفها harmash في حال كان يوجد بالأساس قاعدة بيانات إسمها
    DROP DATABASE IF EXISTS harmash;
    
    -- harmash هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
    CREATE DATABASE harmash;
    
    -- harmash هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
    USE harmash;
    
    -- يتألف من أربعة أعمدة employees هنا قمنا بإنشاء جدول جديد إسمه
    -- لأننا قمنا بتحديدها قبل إستدعاء هذا الأمر harmash سيتم إنشاء هذا الجدول بداخل قاعدة البيانات
    CREATE TABLE employees (
    	id         INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        first_name VARCHAR(50),
        last_name  VARCHAR(50),
    	salary     DECIMAL(7,2)
    );
    
    -- هنا قمنا بإضافة 10 أسطر في الجدول, أي أضفنا معلومات 10 موظفين
    -- لاحظ أننا لم نحدد أسماء الأعمدة التي سنضع فيها البيانات لأننا قمنا بملئ جميع المعلومات
    -- في البداية هو حتى يكون عدد القيم الموضوعة يساوي عدد أعمدة الجدول null سبب وضع الكلمة
    -- ستقوم قاعدة البيانات بوضع رقم تعرفة مختلف لكل سطر null مكان الكلمة
    INSERT INTO employees VALUES (null, "Ahmad", "Alhazem", 800);
    INSERT INTO employees VALUES (null, "Rami", "Algharib", 750);
    INSERT INTO employees VALUES (null, "Said", "Alnaja", 900);
    INSERT INTO employees VALUES (null, "Noura", "Jamali", 845);
    INSERT INTO employees VALUES (null, "Amani", "Sarrouf", 1000);
    INSERT INTO employees VALUES (null, "Mhamad", "Harmush", 700);
    INSERT INTO employees VALUES (null, "Ahmad", "Asaadi", 850);
    INSERT INTO employees VALUES (null, "Mostafa", "Shawki", 920);
    INSERT INTO employees VALUES (null, "Jana", "Alkassem", 780);
    INSERT INTO employees VALUES (null, "Houssam", "Zahrani", 880);
    		

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

    جلب البيانات من الجدول مع دمجها و عرضها بشكل أجمل

    الإستعلام التالي يجلب إسم كل موظف و إسم عائلته و يدمجهم في عمود واحد إسمه Employee.
    و يجلب راتب كل موظف ويدمجه مع الرمز $ في عمود واحد إسمه Salary.

    الإستعلام

    SELECT
    	CONCAT(first_name, ' ', last_name) AS 'Employee',
        CONCAT(salary, "$") AS 'Salary'
    FROM
    	employees;
    		

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

    Employee Salary
    Ahmad Alhazem 800.00$
    Rami Algharib 750.00$
    Said Alnaja 900.00$
    Noura Jamali 845.00$
    Amani Sarrouf 1000.00$
    Mhamad Harmush 700.00$
    Ahmad Asaadi 850.00$
    Mostafa Shawki 920.00$
    Jana Alkassem 780.00$
    Houssam Zahrani 880.00$
    إعلان

    Eqla3Tech.com

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

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

    الدورات

    أدوات مساعدة

    الأقسام

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