この SQL セクションでは、構造化照会言語で 2 つ以上の文字列を比較する方法について説明します。
STRCMP 文字列関数、LIKE 演算子、および Equal 演算子を使用して、2 つ以上の文字列を比較できます。
STRCMP 文字列関数
STRCMP は、指定された 2 つの文字列を比較し、最初の文字列の長さが 2 番目の文字列の長さと等しい場合に 0 を返す文字列の関数です。最初の文字列の長さが 2 番目の文字列の長さより長い場合、関数は 1 を返し、それ以外の場合は -1 を返します。
STRCMP関数の構文
SELECT STRCMP (String_1, String_2);
STRCMP 文字列関数の例
例 1: 次の SELECT クエリは、JAVATPOINT 文字列と EXAMPLES 文字列の長さを比較します。
SELECT STRCMP ('JAVATPOINT', 'EXAMPLES');
出力:
1
例 2: 次の SELECT クエリは、STRCMP 関数に渡される 2 つの文の長さを比較します。
SELECT STRCMP ('Website is good', 'javatpoint is good');
出力:
-1
例 3: 次の SELECT クエリは 2 つの都市の長さを比較します。
SELECT STRCMP ( 'Delhi', 'Noida');
出力:
0
「いいね!」演算子
LIKE 演算子は、特定のパターンとフィールドの各行を照合し、一致した値を出力で返します。この演算子は常に SQL ステートメントの WHERE 句とともに使用されます。
Like 演算子の構文
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern;
LIKE 演算子の例
次の Student テーブルを考えてみましょう。
ロール番号 | ファーストネーム | 市 | 年 | パーセンテージ | 学年 |
---|---|---|---|---|---|
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: 次のクエリは、上記の Student テーブルから、First_Name が「B」文字で始まる学生のレコードを示します。
SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%';
上記のクエリの出力:
ロール番号 | ファーストネーム | パーセンテージ | 学年 |
---|---|---|---|
102 | バベシュ | 93 | A1 |
104 | バーヴナ | 78 | B1 |
上記の出力に示されているように、名前が B で始まるため、テーブルには Bhavesh と Bhavna の学生の記録のみが含まれています。
クエリ 2: 次のクエリは、指定された Student テーブルから、First_Name の任意の位置に文字「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 テーブルから一致したデータを表示する比較演算子の一種です。
この演算子は、構造化照会言語のデータベース ユーザーによって頻繁に使用されます。
この演算子は、列の値がクエリで指定された値と同じである場合に、データベース テーブルから TRUE 行を返します。
Equal 演算子の構文:
SELECT * FROM Table_Name WHERE Column_Name = Value;
等価演算子の例
次の Worker テーブルを見てみましょう。
Worker_Id | 従業員名 | 労働者_都市 | 労働者_給与 | 労働者_ボーナス |
---|---|---|---|---|
101 | アヌジ | ガーズィヤーバード | 35000 | 2000年 |
102 | トゥシャール | ラクナウ | 29000 | 3000 |
103 | ヴィヴェク | コルカタ | 35000 | 2500 |
104 | シヴァム | 行きます | 22000 | 3000 |
次のクエリは、Worker_Salary が 35000 である Worker テーブルの従業員のレコードを表示します。
SELECT * FROM Worker WHERE Worker_Salary = 35000;
出力:
Worker_Id | 従業員名 | 労働者_都市 | 労働者_給与 | 労働者_ボーナス |
---|---|---|---|---|
101 | アヌジ | ガーズィヤーバード | 35000 | 2000年 |
103 | ヴィヴェク | コルカタ | 35000 | 2500 |