اذهب إلى المحتوى
  • 0

كيف يمكنني استخدام المعامل LIKE خلال الدمج JOIN في SQL

سعيد يوسف

السؤال

Recommended Posts

  • 0

يمكن استخدام LIKE في أي مكان يمكن استخدام الشروط فيه مثل = , != , IN , وغيرهم

بعض قواعد البيانات لاتدعم معامل دمج النصوص + مثلا في SQL SERVER نحتاج لاستخدام دالة CONCATE

SELECT * 
FROM A INNER JOIN B 

ON B.MYCOL LIKE CONCAT('%', A.KEY, '%');
   ^^^^^^^  ==  ^^^^^^^^^^^^^^^^^^^^^^^^

كما يمكن استخدام كامل ميزات LIKE فيها

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

نعم يمكنك استخدامها, لنفترض لدينا جدولين , الجدول الأول اسمه a والجدول الثاني اسمه b, يمكنك استخدام LIKE مع JOIN كالتالي 

SELECT * FROM TABLE a JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • -2

LIKE هو معامل يستخدم مع where لايجاد نمط أثناء البحث، كالأسماء التي تبدأ أو تنتهي بحرف معين وهكذا.

هنا بعض أهم الأمثلة التي تستخدم فيها LIKE ومعني كل استخدام لها:

#اختيار الأسماء التي تبدأ ب XXXX
SELECT FROM table_name
WHERE column LIKE 'XXXX%'

or 
#اختيار الأسماء التي تحتوي المقطع XXXX في أي مكان
SELECT FROM table_name
WHERE column LIKE '%XXXX%'

or
#أختيار الأسماء التي تحتوي XXXX في المكان الثاني لغاية الرابع
SELECT FROM table_name
WHERE column LIKE '_XXXX'

مثال، أنظر الجدول التالي:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

اذا قمنا بتشغيل الكود 

SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';

والذي يعني اختيار كل الأشخاص الذي تبدأ رواتبهم ب 200 فانه يقوم بارجاع الجدول:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
+----+----------+-----+-----------+----------+

لاحظ اختياره للراتب ب 2000 وذلك لانها تبدأ ب 200.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...