في قسم 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 |