MySQL で特定の値を超えるレコードをクエリする方法

PHPz
リリース: 2023-04-19 15:05:58
オリジナル
2257 人が閲覧しました

MySQL は、一般的に使用されるリレーショナル データベース管理システムで、特定の値より大きい値のクエリ操作など、多くの強力なクエリ方法をサポートしています。このクエリ方法は、ユーザーが指定された条件に基づいてデータベース内の関連レコードを取得するのに役立つため、非常に重要です。この記事では、MySQL で特定の値以上のレコードをクエリする方法を簡単に紹介します。

特定の値を超えるレコードをクエリするための MySQL の基本的な構文は次のとおりです。

SELECT column_name(s) FROM table_name WHERE column_name > value;
ログイン後にコピー

このうち、column_name はクエリ対象のカラム名、table_name はクエリ対象のテーブル名です。 、値は照会される特定の値です。このクエリは、指定された値より大きい、この列内のすべてのレコードを返します。

たとえば、student テーブル内のスコアが 90 ポイントを超えるすべての学生レコードをクエリするには、次のステートメントを使用できます。

SELECT * FROM students WHERE score > 90;
ログイン後にコピー

このクエリ ステートメントでは、students は学生の名前です。クエリ対象のテーブル、スコアはクエリ対象の列名、90 はクエリ対象の特定の値です。このクエリ ステートメントは、スコアが 90 ポイントを超えるすべての学生レコードを返します。

複数の列で指定した値より大きいレコードをクエリする場合は、次の構文を使用できます。

SELECT column_name(s) FROM table_name WHERE column_name1 > value1 AND column_name2 > value2;
ログイン後にコピー

このクエリ ステートメントは、列 1 が次の値より大きいすべてのレコードを返します。 value1 であり、列 2 が value2 より大きいです。

たとえば、販売テーブル内の値が 1,000 元より大きく、数量が 10 より大きいすべての販売レコードをクエリする場合は、次のステートメントを使用できます。

SELECT * FROM sales WHERE price > 1000 AND quantity > 10;
ログイン後にコピー

Inこのクエリ ステートメントでは、sales はクエリ対象のテーブル名、価格と数量はクエリ対象の列名、1000 と 10 はクエリ対象の特定の値です。このクエリ ステートメントは、価格が 1,000 元を超え、数量が 10 を超えるすべての販売レコードを返します。

テーブル内の特定の時間範囲内のレコードをクエリする場合は、次の構文を使用できます。

SELECT * FROM table_name WHERE date_column > 'start_date' AND date_column < &#39;end_date&#39;;
ログイン後にコピー

このクエリ ステートメントでは、date_column は時間列の名前、start_date です。と end_date は開始日と終了日です。このクエリは、指定された時間範囲内のすべてのレコードを返します。

たとえば、在庫テーブル内の特定の日付以降と別の日付以前に販売されたアイテムのレコードをクエリする場合は、次のステートメントを使用できます。

SELECT * FROM inventory WHERE sale_date > '2019-01-01' AND sale_date < &#39;2019-05-01&#39;;
ログイン後にコピー

このクエリ ステートメントでは、inventory はクエリ対象のテーブルの名前、sale_date は時間列の名前、「2019-01-01」と「2019-05-01」は開始日と終了日です。このクエリは、2019 年 1 月 1 日から 2019 年 5 月 1 日までに販売されたすべての商品レコードを返します。

大なりクエリを使用する場合は、次の点にも注意する必要があります。

  1. クエリ対象の列に null 値が含まれている場合、この大なりクエリは列はこれらのレコードを取得できません。この場合、IS NULL を使用して、null 値を特別な値としてクエリできます。たとえば、次のようになります。
SELECT * FROM students WHERE score IS NULL OR score > 90;
ログイン後にコピー
  1. クエリ対象の列が文字列の場合、大なり演算は次のようになります。列内のアルファベット順にのみ基づいて比較されます。したがって、文字列に対して以上の演算をクエリする場合には、より注意が必要です。
  2. クエリ対象の列に日付またはタイムスタンプが含まれている場合は、日付文字列を日付型に変換し、大なり演算子を使用できます。たとえば、次のクエリは、2019 年 1 月 1 日以降のすべての販売レコードを返します。
SELECT * FROM sales WHERE sale_date > '2019-01-01';
ログイン後にコピー
  1. クエリを実行するときに、ORDER BY キーワードを使用して結果を並べ替えることができます。たとえば、次のクエリは、スコアが 90 ポイントを超えるすべての学生レコードをスコア順に高い順に並べ替えて返します。
SELECT * FROM students WHERE score > 90 ORDER BY score DESC;
ログイン後にコピー

このクエリ ステートメントでは、DESC はスコア順に高い順から低い順に並べ替えることを意味します。 。

MySQL では、特定の値を超えるレコードのクエリは非常に一般的な操作です。上記の構文と手法を使用すると、ユーザーは特定の条件を満たすレコードを簡単にクエリできます。もちろん、クエリをより効率的にするために、列に適切なインデックスがあることを確認し、WHERE ステートメントでの like、or、not およびその他の演算子の使用を最小限に抑えるようにしてください。

以上がMySQL で特定の値を超えるレコードをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート