Bu SQL bölümünde, Yapılandırılmış Sorgu Dili'nde iki veya daha fazla dizenin nasıl karşılaştırılacağını tartışacağız.
STRCMP dize işlevini, LIKE operatörünü ve Eşit operatörünü kullanarak iki veya daha fazla dizeyi karşılaştırabiliriz.
STRCMP Dize işlevi
STRCMP, belirtilen iki dizeyi karşılaştıran ve ilk dizenin uzunluğu ikinci dizenin uzunluğuna eşitse 0 veren bir dize işlevidir. İlk dizenin uzunluğu ikinci dizenin uzunluğundan fazlaysa işlev 1, aksi takdirde -1 değerini döndürür.
STRCMP İşlevinin Sözdizimi
SELECT STRCMP (String_1, String_2);
STRCMP Dizesi işlevi örnekleri
Örnek 1: Aşağıdaki SELECT sorgusu, JAVATPOINT ve EXAMPLES dizelerinin uzunluğunu karşılaştırır:
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
Çıktı:
1
Örnek 2: Aşağıdaki SELECT sorgusu STRCMP işlevinde geçen iki cümlenin uzunluğunu karşılaştırır:
SELECT STRCMP ('Website is good', 'javatpoint is good');
Çıktı:
-1
Örnek 3: Aşağıdaki SELECT sorgusu iki şehrin uzunluğunu karşılaştırır:
SELECT STRCMP ( 'Delhi', 'Noida');
Çıktı:
0
BEĞEN Operatörü
LIKE operatörü, belirli modeli alanın her satırıyla eşleştirir ve eşleşen değerleri çıktıda döndürür. Bu operatör her zaman SQL deyiminde WHERE deyimiyle birlikte kullanılır.
Beğen operatörünün sözdizimi
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
LIKE Operatörü Örneği
Aşağıdaki Öğrenci tablosunu ele alalım:
Rulo_Hayır | İlk adı | Şehir | Yaş | Yüzde | Seviye |
---|---|---|---|---|---|
101 | Akaşa | Delhi | 18 | 89 | A2 |
102 | Bhaveş | Kanpur | 19 | 93 | A1 |
103 | Yaşa | Delhi | yirmi | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | şans eseri | yirmi | 75 | B1 |
106 | Ishaka | Gaziabad | 19 | 91 | C1 |
107 | Vivek | Goa | yirmi | 80 | B2 |
Sorgu 1: Aşağıdaki sorgu, yukarıdaki Öğrenci tablosunda, Adı 'B' harfiyle başlayan öğrencilerin kaydını gösterir:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
Yukarıdaki sorgunun çıktısı:
Rulo_Hayır | İlk adı | Yüzde | Seviye |
---|---|---|---|
102 | Bhaveş | 93 | A1 |
104 | Bhavna | 78 | B1 |
Yukarıdaki çıktıda gösterildiği gibi, isimleri B harfiyle başladığı için tablo yalnızca Bhavesh ve Bhavna öğrencilerinin kaydını içermektedir.
Sorgu 2: Aşağıdaki sorgu, verilen Öğrenci tablosundaki Ad_Adı herhangi bir konumda 'a' karakterini içeren öğrencilerin kaydını gösterir:
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ;
Yukarıdaki sorgunun çıktısı:
Rulo_Hayır | İlk adı | Şehir | Yaş | Yüzde | Seviye |
---|---|---|---|---|---|
101 | Akaşa | Delhi | 18 | 89 | A2 |
102 | Bhaveş | Kanpur | 19 | 93 | A1 |
103 | Yaşa | Delhi | yirmi | 89 | A2 |
104 | Bhavna | Delhi | 19 | 78 | B1 |
105 | yatin | şans eseri | yirmi | 75 | B1 |
106 | Ishaka | Gaziabad | 19 | 91 | C1 |
Eşit Operatör (=)
Verilen SQL tablosundan eşleşen verileri gösteren bir tür karşılaştırma operatörüdür.
Bu operatör, Yapılandırılmış Sorgu Dili'nde veritabanı kullanıcıları tarafından oldukça kullanılmaktadır.
Bu operatör, sütunun değeri sorguda belirtilen değerle aynıysa, veritabanı tablosundan TRUE satırlarını döndürür.
Eşit operatörünün sözdizimi:
SELECT * FROM Table_Name WHERE Column_Name = Value;
Eşit Operatör Örneği
Aşağıdaki Worker tablosunu ele alalım:
İşçi_Kimliği | Çalışan_Adı | İşçi_Şehri | İşçi_Maaş | İşçi_Bonus |
---|---|---|---|---|
101 | Anuj | Gaziabad | 35000 | 2000 |
102 | Tuşar | şans eseri | 29000 | 3000 |
103 | Vivek | Kalküta | 35000 | 2500 |
104 | Şivam | Goa | 22000 | 3000 |
Aşağıdaki sorgu, Worker_Salary 35000 olan işçi tablosundaki işçilerin kaydını gösterir:
SELECT * FROM Worker WHERE Worker_Salary = 35000;
Çıktı:
İşçi_Kimliği | Çalışan_Adı | İşçi_Şehri | İşçi_Maaş | İşçi_Bonus |
---|---|---|---|---|
101 | Anuj | Gaziabad | 35000 | 2000 |
103 | Vivek | Kalküta | 35000 | 2500 |