SQL Academy · درس

الضم: || وCONCAT

صِل السلاسل النصية باستخدام العامل || والدالة CONCAT()، وافهم كيفية تعامل كل منهما مع مدخلات NULL.

الدرس 1 من 413 خطوة

الضم: || وCONCAT درس مجاني في SQL Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SQL Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SQL Academy 4 دروس في المجموع.

الضم القياسي: ||

المعامل القياسي في SQL لضم السلاسل النصية هو ||:

SELECT first_name || ' ' || last_name AS full_name FROM users;
SELECT 'Hello, ' || name || '!' FROM users;

|| مع NULL = NULL

إذا كان أي معامل يساوي NULL، يصبح التعبير بأكمله NULL. كن صريحًا:

SELECT first_name || ' ' || NULL;     -- NULL

-- Defend with COALESCE:
SELECT first_name || ' ' || COALESCE(last_name, '') FROM users;

CONCAT: بديل آمن مع NULL

تتعامل CONCAT مع NULL على أنه سلسلة فارغة:

SELECT CONCAT(first_name, ' ', last_name) FROM users;
SELECT CONCAT(first_name, ' ', NULL);     -- 'first_name ' (no NULL)

CONCAT_WS: مع فاصل

الخيار الأكثر وضوحًا لـ«الضم مع فاصل»:

SELECT CONCAT_WS(' ', title, first_name, middle_initial, last_name) AS pretty_name
FROM users;
-- ' ' between non-NULL fields only

خلط السلاسل النصية والأرقام

يمكنك إجراء تحويل صريح أو الاعتماد على التحويل الضمني (فـPostgreSQL صارم — والتحويلات الصريحة أكثر أمانًا):

SELECT 'Order #' || id::TEXT  FROM orders;
SELECT CONCAT('Order #', id) FROM orders;     -- CONCAT auto-casts

إنشاء سلاسل نصية للعرض

أنشئ تسميات مقروءة:

SELECT id,
       email,
       CONCAT_WS(', ', city, region, country) AS location
FROM users;

ضم نتائج التجميع باستخدام STRING_AGG

لضم القيم من صفوف متعددة، استخدم STRING_AGG (أو array_agg):

SELECT user_id,
       STRING_AGG(name, ', ' ORDER BY name) AS tag_names
FROM user_tags
GROUP BY user_id;

FORMAT للسلاسل النصية ذات القوالب

تعمل format() في PostgreSQL بأسلوب printf، وهي آمنة مع NULL:

SELECT format('User %s (id=%s) joined on %s',
              full_name, id, created_at::DATE)
FROM users;

السلسلة الفارغة مقابل NULL

حدد ذلك لكل عمود: هل السلسلة الفارغة قيمة صالحة؟ إذا لم تكن كذلك، فتعامل مع '' عند الإدخال على أنها NULL:

INSERT INTO contacts (phone) VALUES (NULLIF(:phone, ''));

القيم الحرفية للسلاسل متعددة الأسطر

يدعم PostgreSQL استخدام علامات الدولار للقيم النصية متعددة الأسطر من دون الحاجة إلى محارف الهروب:

SELECT $$Hello,
'World' — with quotes!$$;

SELECT $custom_tag$ ... $custom_tag$;

أداء ضم السلاسل النصية

ضم السلاسل سريع — ملايين العمليات في الثانية. وعادةً ما تكون التكلفة ناتجة عن إدخال وإخراج الصفوف، لا عن عمليات السلاسل النصية.

مراجعة

استخدم || للضم القياسي، وCONCAT/CONCAT_WS لتجاهل NULL، وFORMAT للقوالب، وSTRING_AGG لضم صفوف متعددة.

تحقق سريع

إذا كان last_name يساوي NULL، فما القيمة التي يعيدها first_name || ' ' || last_name؟

البدء مجانًا

تعلم SQL مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
46
الدروس
183

الأسئلة الشائعة

هل درس «الضم: || وCONCAT» مجاني؟

نعم — نص درس «الضم: || وCONCAT» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SQL Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SQL Academy 4 دروس في المجموع.

ماذا ستتعلم في «الضم: || وCONCAT»؟

صِل السلاسل النصية باستخدام العامل || والدالة CONCAT()، وافهم كيفية تعامل كل منهما مع مدخلات NULL. تتمرن على SQL Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SQL Academy؟

لا تُشترط خبرة سابقة. SQL Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «الضم: || وCONCAT»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SQL Academy هذا؟

نعم. كل درس في SQL Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الضم: || وCONCAT
  2. UPPER وLOWER وSUBSTRING وREPLACE
  3. TRIM وLPAD وRPAD
  4. مقدمة إلى البحث في النص الكامل (tsvector وto_tsquery)
← العودة إلى SQL Academy