logo

SQL مقارنة السلسلة

في قسم SQL هذا، سنناقش كيفية مقارنة سلسلتين أو أكثر في لغة الاستعلام الهيكلية

يمكننا مقارنة سلسلتين أو أكثر باستخدام دالة السلسلة STRCMP وعامل التشغيل LIKE وعامل التشغيل Equal.

وظيفة سلسلة STRCMP

STRCMP هي دالة سلسلة تقارن بين السلسلتين المحددتين وتعطي 0 إذا كان طول السلسلة الأولى يساوي طول السلسلة الثانية. إذا كان طول السلسلة الأولى أكبر من طول السلسلة الثانية، فسترجع الدالة 1 وإلا -1.

بناء جملة وظيفة STRCMP

 SELECT STRCMP (String_1, String_2); 

أمثلة على وظيفة سلسلة STRCMP

مثال 1: يقارن استعلام SELECT التالي طول سلاسل JAVATPOINT وEXAMPLES:

 SELECT STRCMP ('JAVATPOINT', 'EXAMPLES'); 

انتاج:

 1 

مثال 2: يقارن استعلام SELECT التالي طول الجملتين اللتين تمران في الدالة STRCMP:

 SELECT STRCMP ('Website is good', 'javatpoint is good'); 

انتاج:

 -1 

مثال 3: يقارن استعلام SELECT التالي طول مدينتين:

 SELECT STRCMP ( 'Delhi', 'Noida'); 

انتاج:

 0 

مثل المشغل

يطابق عامل التشغيل LIKE النمط المعين مع كل صف من الحقل ويعيد القيم المطابقة في الإخراج. يُستخدم هذا العامل دائمًا مع عبارة WHERE في عبارة SQL.

بناء جملة عامل التشغيل Like

 SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern; 

مثال على مشغل LIKE

لنأخذ جدول الطالب التالي:

لفة_رقم الاسم الأول مدينة عمر نسبة مئوية درجة
101 عكاش دلهي 18 89 A2
102 بهافيش كانبور 19 93 أ1
103 ياش دلهي عشرين 89 A2
104 بهافنا دلهي 19 78 ب1
105 ياتين لكناو عشرين 75 ب1
106 إيشاكا غازي آباد 19 91 ج1
107 فيفيك جوا عشرين 80 B2

الاستعلام 1: يعرض الاستعلام التالي سجل هؤلاء الطلاب من جدول الطلاب أعلاه والذي يبدأ اسمه الأول بالحرف 'B':

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%'; 

إخراج الاستعلام أعلاه:

لفة_رقم الاسم الأول نسبة مئوية درجة
102 بهافيش 93 أ1
104 بهافنا 78 ب1

كما هو موضح في الإخراج أعلاه، يحتوي الجدول فقط على سجل طلاب بهافيش وبهافنا لأن أسمائهم تبدأ بالحرف B.

الاستعلام 2: يعرض الاستعلام التالي سجل هؤلاء الطلاب من جدول الطلاب المحدد والذي يحتوي اسمه الأول على الحرف 'a' في أي موضع:

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ; 

إخراج الاستعلام أعلاه:

لفة_رقم الاسم الأول مدينة عمر نسبة مئوية درجة
101 عكاش دلهي 18 89 A2
102 بهافيش كانبور 19 93 أ1
103 ياش دلهي عشرين 89 A2
104 بهافنا دلهي 19 78 ب1
105 ياتين لكناو عشرين 75 ب1
106 إيشاكا غازي آباد 19 91 ج1

عامل متساوي (=)

إنه نوع من عوامل المقارنة التي تعرض البيانات المطابقة من جدول SQL المحدد.

يتم استخدام هذا العامل بشكل كبير من قبل مستخدمي قاعدة البيانات في لغة الاستعلام الهيكلية.

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

بناء جملة عامل المساواة:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

مثال على المشغل المتساوي

لنأخذ جدول العمال التالي:

معرف_العامل اسم_العامل مدينة_العمال Worker_Salary مكافأة_العامل
101 أنوج غازي آباد 35000 2000
102 توشار لكناو 29000 3000
103 فيفيك كولكاتا 35000 2500
104 شيفام جوا 22000 3000

يعرض الاستعلام التالي سجل هؤلاء العمال من جدول العمال الذي يبلغ Worker_Salary 35000:

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

انتاج:

معرف_العامل اسم_العامل مدينة_العمال Worker_Salary مكافأة_العامل
101 أنوج غازي آباد 35000 2000
103 فيفيك كولكاتا 35000 2500