SQL Between演算子は、構造化照会言語の論理演算子です。 Between演算子は、クエリの条件で指定された範囲内のデータを取得するために使用されます。
演算子間のSELECTは、データ(テキスト、数値、または日付)を取得するために使用されます。
Betweenは、2つの値内の平均であるため、between演算子には、開始値と終了値の2つの値が含まれます。
where句のSelectステートメントでbetween演算子を使用できます
Deleteステートメントとupdateステートメントでbetween演算子を使用することもできます。
Deleteステートメントでは、between演算子を使用して、2つの値の間の値を削除するか、範囲内で指定し、Updateステートメントを使用して値を変更します。
SQLでのBETWEEN演算子の構文
SELECT COLUMNNAME1, COLUMNAME2 FROM TABLENAME WHERE COLUMNNAME BETWEEN VAL_1 AND VAL_2
ここで、val_1は開始値であり、val_2はその終了値です
例を使ってSQLのBETWEEN演算子を理解しましょう。
選択ステートメントを使用した演算子間:-
SELECTステートメントは、SQLテーブルからデータを取得するために使用されます。 SELECTステートメントでBETWEEN演算子を使用して、SQLテーブルから2つの値の間のレコードをフェッチしました。
与えられたレコードと一緒に次の表を検討してください。
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | CITY | 部門 | MANAGERID | 年齢 | DOJ |
1001 | Vaibhav | シャルマ | 65000 | PUNE | ORACLE | 1 | 23 | 2021-09-20 |
1002 | ニキル | ヴァニ | 60000 | NOIDA | ORACLE | 1 | 21 | 2021-09-23 |
1003 | Vaibhavi | ミシュラ | 50000 | ジャイプール | FMW | 2 | 22 | 2021-09-30 |
2001 | ルチカ | Jain | 55500 | チャンディーガル | ORACLE | 1 | 22 | 2021-09-30 |
2002 | プラチ | シャルマ | 65500 | PUNE | FMW | 2 | 23 | 2021-09-20 |
2003 | Bhavesh | Jain | 50000 | ムンバイ | テスト | 4 | 21 | 2021-09-23 |
3001 | Deepam | ジャウハリ | 55500 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3002 | ANUJA | WANRE | 50500 | ジャイプール | FMW | 2 | 22 | 2021-09-30 |
3003 | プラノティ | シェンデ | 58500 | ムンバイ | JAVA | 3 | 23 | 2021-09-20 |
4001 | RAJESH | GOUD | 60500 | ムンバイ | テスト | 4 | 23 | 2021-09-20 |
例1: 従業員の給与が48500〜60000の従業員テーブルのレコードを表示するクエリを記述します。
SELECT * FROM EMPLOYEE WHERE SALARY BETWEEN 48500 AND 60000;
上記のステートメントでは、従業員の給与が48500〜60000の従業員テーブルからすべての詳細を取得しました。
出力:
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | CITY | 部門 | MANAGERID | 年齢 | DOJ |
1002 | ニキル | ヴァニ | 60000 | NOIDA | ORACLE | 1 | 21 | 2021-09-23 |
1003 | Vaibhavi | ミシュラ | 50000 | ジャイプール | FMW | 2 | 22 | 2021-09-30 |
2001 | ルチカ | Jain | 55500 | チャンディーガル | ORACLE | 1 | 22 | 2021-09-30 |
2003 | Bhavesh | Jain | 50000 | ムンバイ | テスト | 4 | 21 | 2021-09-23 |
3001 | Deepam | ジャウハリ | 55500 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3002 | ANUJA | WANRE | 50500 | ジャイプール | FMW | 2 | 22 | 2021-09-30 |
3003 | プラノティ | シェンデ | 58500 | ムンバイ | JAVA | 3 | 23 | 2021-09-20 |
例2: 従業員の都市がムンバイとプネの間にある従業員テーブルから、従業員ID、名、姓、給与、および都市を表示するクエリを記述します。
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY FROM EMPLOYEE WHERE CITY BETWEEN 'MUMBAI' AND 'PUNE';
上記のステートメントでは、ムンバイとプネの間の都市標準を持つ従業員の従業員テーブルから、従業員ID、従業員名、従業員の都市、および給与を取得しました。
出力:
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | CITY |
1001 | Vaibhav | シャルマ | 65000 | PUNE |
1002 | ニキル | ヴァニ | 60000 | NOIDA |
2002 | プラチ | シャルマ | 65500 | PUNE |
2003 | Bhavesh | Jain | 50000 | ムンバイ |
3001 | Deepam | ジャウハリ | 55500 | PUNE |
3003 | プラノティ | シェンデ | 58500 | ムンバイ |
4001 | RAJESH | GOUD | 60500 | ムンバイ |
例3: 従業員部門がJavaとOracleの間、または給与が45000から55000の間である従業員テーブルから、従業員ID、名、姓、給与、および部門とマネージャーIDを表示するクエリを記述します。
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, DEPARTMENT, MANAGERID FROM EMPLOYEE WHERE DEPARTMENT BETWEEN 'JAVA' AND 'ORACLE' OR SALARY BETWEEN 45000 AND 55000;
上記のステートメントでは、複数のBETWEEN演算子とOR演算子を使用しています。従業員テーブルから従業員ID、名、姓、給与、部門、およびマネージャーIDを取得しました。最初のBETWEEN演算子は、部門名がJavaとOracleの間にある従業員の上記の詳細を取得するために使用されます。最初のBETWEEN演算子の後、別のBETWEEN演算子に切り替わります。これは、給与が45000〜55000の従業員の上記の詳細を取得するために使用されます。上記のステートメントは、OR演算子を使用したため、両方のBETWEEN演算子が取得したレコードを表示します。ステートメント。
出力:
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | 部門 | MANAGERID |
1001 | Vaibhav | シャルマ | 65000 | ORACLE | 1 |
1002 | ニキル | ヴァニ | 60000 | ORACLE | 1 |
1003 | Vaibhavi | ミシュラ | 50000 | FMW | 2 |
2001 | ルチカ | Jain | 55500 | ORACLE | 1 |
2003 | Bhavesh | Jain | 50000 | テスト | 4 |
3001 | Deepam | ジャウハリ | 55500 | JAVA | 3 |
3002 | ANUJA | WANRE | 50500 | FMW | 2 |
3003 | プラノティ | シェンデ | 58500 | JAVA | 3 |
例4: 従業員の都市がチャンディーガルとプネの間にあり、給与が45000から60000の従業員テーブルから、従業員ID、名、姓、給与、および都市とマネージャーIDを表示するクエリを記述します。
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;
上記のステートメントでは、複数のBETWEEN演算子とOR演算子を使用しています。従業員テーブルから従業員ID、名、姓、給与、市区町村、およびマネージャーIDを取得しました。最初のBETWEEN演算子は、都市名がチャンディーガルとプネの間にある従業員の上記の詳細を取得するために使用されます。最初のBETWEENオペレーターの後、別のBETWEENオペレーターに切り替わります。このオペレーターは、給与が45000〜60000の従業員の上記の詳細を取得するために使用されます。上記のステートメントには、チャンディーガルとプネの間の都市名とAND演算子を使用したため、給与は45000〜60000です。
出力:
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | CITY | MANAGERID |
1002 | ニキル | ヴァニ | 60000 | NOIDA | 1 |
1003 | Vaibhavi | ミシュラ | 50000 | ジャイプール | 2 |
2001 | ルチカ | Jain | 55500 | チャンディーガル | 1 |
2003 | Bhavesh | Jain | 50000 | ムンバイ | 4 |
3001 | Deepam | ジャウハリ | 55500 | PUNE | 3 |
3002 | ANUJA | WANRE | 50500 | ジャイプール | 2 |
3003 | プラノティ | シェンデ | 58500 | ムンバイ | 3 |
例5: 従業員の給与が50000〜65000の都市ごとに注文された、従業員テーブルの従業員ID、名、姓、給与、および都市を表示するクエリを記述します。
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;
上記のステートメントでは、給与が50000〜65000の従業員の従業員テーブルから、従業員ID、名、姓、給与、および都市を取得しました。結果を都市の列の昇順で表示しました。
出力:
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | CITY |
2001 | ルチカ | Jain | 55500 | チャンディーガル |
1003 | Vaibhavi | ミシュラ | 50000 | ジャイプール |
3002 | ANUJA | WANRE | 50500 | ジャイプール |
2003 | Bhavesh | Jain | 50000 | ムンバイ |
3003 | プラノティ | シェンデ | 58500 | ムンバイ |
4001 | RAJESH | GOUD | 60500 | ムンバイ |
1002 | ニキル | ヴァニ | 60000 | NOIDA |
1001 | Vaibhav | シャルマ | 65000 | PUNE |
3001 | Deepam | ジャウハリ | 55500 | PUNE |
例6: 従業員ID、名、姓、給与、および従業員の給与が45000〜65000であり、従業員の都市が「ムンバイ」、「プネ」のみである都市を表示するクエリを記述します。
SELECT EMPLOYEEID, FIRST_NAME, LAST_NAME, SALARY, CITY, MANAGERID FROM EMPLOYEE WHERE CITY BETWEEN 'CHANDIGARH' AND 'PUNE' AND SALARY BETWEEN 45000 AND 60000;
上記のステートメントでは、従業員の給与が45000〜65000で、都市にムンバイとプネのみが含まれている従業員の従業員テーブルから、従業員ID、名、姓、給与、および都市を取得しました。
出力:
EMPLOYEEID | FIRST_NAME | LAST_NAME | CITY | 給与 |
1001 | Vaibhav | シャルマ | PUNE | 65000 |
2003 | Bhavesh | Jain | ムンバイ | 50000 |
3001 | Deepam | ジャウハリ | PUNE | 55500 |
3003 | プラノティ | シェンデ | ムンバイ | 58500 |
4001 | RAJESH | GOUD | ムンバイ | 60500 |
更新ステートメントを使用したオペレーター間
UPDATEステートメントは、SQLテーブル内に存在するデータを変更します。 UPDATEステートメントでBETWEEN演算子を使用して、ステートメントで指定された範囲を満たすレコードを変更します。
UPDATEステートメントを使用したBETWEEN演算子の構文:
UPDATE TABLE_NAME SET COLUMN_NAME = VALUES WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2;
与えられたレコードと一緒に次の表を検討してください。
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | CITY | 部門 | MANAGERID | 年齢 | DOJ |
1001 | Vaibhav | シャルマ | 65000 | PUNE | ORACLE | 1 | 23 | 2021-09-20 |
1002 | ニキル | ヴァニ | 60000 | NOIDA | ORACLE | 1 | 21 | 2021-09-23 |
1003 | Vaibhavi | ミシュラ | 50000 | ジャイプール | FMW | 2 | 22 | 2021-09-30 |
2001 | ルチカ | Jain | 55500 | チャンディーガル | ORACLE | 1 | 22 | 2021-09-30 |
2002 | プラチ | シャルマ | 65500 | PUNE | FMW | 2 | 23 | 2021-09-20 |
2003 | Bhavesh | Jain | 50000 | ムンバイ | テスト | 4 | 21 | 2021-09-23 |
3001 | Deepam | ジャウハリ | 55500 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3002 | ANUJA | WANRE | 50500 | ジャイプール | FMW | 2 | 22 | 2021-09-30 |
3003 | プラノティ | シェンデ | 58500 | ムンバイ | JAVA | 3 | 23 | 2021-09-20 |
4001 | RAJESH | GOUD | 60500 | ムンバイ | テスト | 4 | 23 | 2021-09-20 |
例1: 従業員の都市がムンバイとノイダの間にある従業員の給与を1.2倍に変更するクエリを記述します。
UPDATE EMPLOYEE SET SALARY = SALARY * 1.2 WHERE CITY BETWEEN ‘MUMBAI’ AND ‘NOIDA’;
上記のステートメントでは、ムンバイとプネの間にある都市の従業員の給与を1.2増やします。
従業員の給与が正常に更新されたかどうかをクロスチェックするには、SELECTステートメントを使用します。
SELECT EMPLOYEEID, SALARY, CITY FROM EMPLOYEE WHERE CITY BETWEEN ‘MUMBAI’ AND ’NOIDA’;
EMPLOYEEID | 給与 | CITY |
1002 | 86400 | NOIDA |
2003 | 86400 | ムンバイ |
3003 | 84240 | ムンバイ |
4001 | 87210 | ムンバイ |
例2: 入社日が2021-09-20から2021-09-22で、給与が78500から85000である従業員の都市を更新するクエリを記述します。
UPDATE EMPLOYEE SET CITY = 'DELHI' WHERE DOJ BETWEEN '2021-09-20' AND '2021-09-22' AND SALARY BETWEEN 78500 AND 85000;
上記のステートメントのステートメントでは、複数のBETWEEN演算子を使用しています。入社日が「2021-09-20」から「2021-09-22」の従業員のデリーに従業員都市を設定し、その間の別の従業員が給与が78500から85000の間であるかどうかを確認します。従業員のみの条件の場合、従業員の都市名が変更されます。
従業員の給与が正常に更新されたかどうかをクロスチェックするには、SELECTステートメントを使用します。
SELECT EMPLOYEEID, CITY, SALARY, DOJ FROM EMPLOYEE WHERE DOJ BETWEEN '2021-09-20' AND '2021-09-22' AND SALARY BETWEEN 78500 AND 85000;
EMPLOYEEID | CITY | 給与 | DOJ |
2002 | デリー | 786400 | 2021-09-20 |
3003 | デリー | 84240 | 2021-09-20 |
削除ステートメントを使用した演算子間
DELETEステートメントは、SQLテーブルからレコードを削除するために使用されます。 DELETEステートメントでBETWEEN演算子を使用して、ステートメントで指定された範囲を満たすレコードを削除します。
DELETEステートメントを使用したBETWEEN演算子の構文:
DELETE FROM TABLE_NAME WHERE COLUMN_NAME BETWEEN VALUE1 AND VALUE2;
与えられたレコードと一緒に次の表を検討してください。
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | CITY | 部門 | MANAGERID | 年齢 | DOJ |
1001 | Vaibhav | シャルマ | 78000 | PUNE | ORACLE | 1 | 23 | 2021-09-20 |
1002 | ニキル | ヴァニ | 86400 | NOIDA | ORACLE | 1 | 21 | 2021-09-23 |
1003 | Vaibhavi | ミシュラ | 50000 | ジャイプール | FMW | 2 | 22 | 2021-09-30 |
2001 | ルチカ | Jain | 55500 | チャンディーガル | ORACLE | 1 | 22 | 2021-09-30 |
2002 | プラチ | シャルマ | 78600 | デリー | FMW | 2 | 23 | 2021-09-20 |
2003 | Bhavesh | Jain | 86400 | ムンバイ | テスト | 4 | 21 | 2021-09-23 |
3001 | Deepam | ジャウハリ | 66600 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3002 | ANUJA | WANRE | 60600 | ジャイプール | FMW | 2 | 22 | 2021-09-30 |
3003 | プラノティ | シェンデ | 84240 | デリー | JAVA | 3 | 23 | 2021-09-20 |
4001 | RAJESH | GOUD | 87120 | ムンバイ | テスト | 4 | 23 | 2021-09-20 |
例1: 給与が45000〜65000の従業員の従業員テーブルから従業員の詳細を削除するクエリを記述します。
DELETE FROM EMPLOYEE WHERE SALARY BETWEEN 45000 AND 65000;
上記のステートメントでは、給与が45000〜65000の従業員の従業員の詳細を削除しています。
従業員の詳細が正常に削除されたかどうかをクロスチェックするには、SELECTステートメントを使用します。
SELECT * FROM EMPLOYEE;
EMPLOYEEID | FIRST_NAME | LAST_NAME | 給与 | CITY | 部門 | MANAGERID | 年齢 | DOJ |
1001 | Vaibhav | シャルマ | 78000 | PUNE | ORACLE | 1 | 23 | 2021-09-20 |
1002 | ニキル | ヴァニ | 86400 | NOIDA | ORACLE | 1 | 21 | 2021-09-23 |
2002 | プラチ | シャルマ | 78600 | デリー | FMW | 2 | 23 | 2021-09-20 |
2003 | Bhavesh | Jain | 86400 | ムンバイ | テスト | 4 | 21 | 2021-09-23 |
3001 | Deepam | ジャウハリ | 66600 | PUNE | JAVA | 3 | 21 | 2021-09-23 |
3003 | プラノティ | シェンデ | 84240 | デリー | JAVA | 3 | 23 | 2021-09-20 |
4001 | RAJESH | GOUD | 87120 | ムンバイ | テスト | 4 | 23 | 2021-09-20 |
例2: デリーとプネの間に都市がある従業員の従業員テーブルから従業員の詳細を削除するクエリを記述します。
DELETE FROM EMPLOYEE WHERE CITY BETWEEN ‘DELHI’ AND ‘PUNE’;
上記のステートメントでは、デリーとプネの間に都市がある従業員の従業員の詳細を削除しています。
従業員の詳細が正常に削除されたかどうかをクロスチェックするには、SELECTステートメントを使用します。
SELECT * FROM EMPLOYEE;