בסעיף 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
האופרטור 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 | A1 |
103 | יאש | דלהי | עשרים | 89 | A2 |
104 | בהונא | דלהי | 19 | 78 | B1 |
105 | יאטין | מזל | עשרים | 75 | B1 |
106 | אישקה | גאזיאבאד | 19 | 91 | C1 |
107 | ויווק | גואה | עשרים | 80 | B2 |
שאילתה 1: השאילתה הבאה מציגה את הרשומה של אותם תלמידים מטבלת התלמידים שלמעלה ששם_השם שלהם מתחיל באות 'B':
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
פלט של השאילתה למעלה:
רול_לא | שם פרטי | אֲחוּזִים | כיתה |
---|---|---|---|
102 | בהבש | 93 | A1 |
104 | בהונא | 78 | B1 |
כפי שמוצג בפלט לעיל, הטבלה מכילה רק את הרשומה של תלמידי בהבש ובהאונה מכיוון ששמותיהם מתחילים באות B.
שאילתה 2: השאילתה הבאה מציגה את הרשומה של התלמידים מטבלת התלמידים הנתונה שהשם_שם שלהם מכיל את התו 'a' בכל מיקום:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
פלט של השאילתה למעלה:
רול_לא | שם פרטי | עִיר | גיל | אֲחוּזִים | כיתה |
---|---|---|---|---|---|
101 | אקאש | דלהי | 18 | 89 | A2 |
102 | בהבש | קאנפור | 19 | 93 | A1 |
103 | יאש | דלהי | עשרים | 89 | A2 |
104 | בהונא | דלהי | 19 | 78 | B1 |
105 | יאטין | מזל | עשרים | 75 | B1 |
106 | אישקה | גאזיאבאד | 19 | 91 | C1 |
מפעיל שווה (=)
זהו סוג של אופרטור השוואה המציג את הנתונים התואמים מטבלת SQL הנתונה.
אופרטור זה נמצא בשימוש רב על ידי משתמשי מסד הנתונים ב-Structured Query Language.
אופרטור זה מחזיר שורות TRUE מטבלת מסד הנתונים אם הערך של העמודה זהה לערך שצוין בשאילתה.
תחביר של אופרטור שווה:
SELECT * FROM Table_Name WHERE Column_Name = Value;
דוגמה למפעיל שווה
ניקח את טבלת העובדים הבאה:
Worker_Id | שם עובד | Worker_City | עובד_משכורת | בונוס_עובד |
---|---|---|---|---|
101 | אנוג' | גאזיאבאד | 35,000 | 2000 |
102 | טושאר | מזל | 29000 | 3000 |
103 | ויווק | קולקטה | 35,000 | 2500 |
104 | שיבאם | גואה | 22000 | 3000 |
השאילתה הבאה מציגה את הרשומה של אותם עובדים מטבלת העובדים ש-Worker_Salary שלהם היא 35000:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
תְפוּקָה:
Worker_Id | שם עובד | Worker_City | עובד_משכורת | בונוס_עובד |
---|---|---|---|---|
101 | אנוג' | גאזיאבאד | 35,000 | 2000 |
103 | ויווק | קולקטה | 35,000 | 2500 |