MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのSTRCMP()関数でテーブルの列データ値を比較する方法

MySQLのSTRCMP()関数を使用して2つの列のデータ値を比較したい場合は、関数の引数として列名を指定します。ここでは、学生の名前と各教科の得点が格納された「Marks」というテーブルを例に説明します。

例えば、特定の学生が2つの教科でどちらにより多くの点数を取ったのか、あるいは同じ点数なのかを確認したい場合、STRCMP()関数を使うと以下のように簡単に調べることができます。

使用例

mysql> Select Name, STRCMP(Math,Hindi) from student_marks WHERE Name = 'Rahul';
+-------+--------------------+
| Name  | STRCMP(Math,Hindi) |
+-------+--------------------+
| Rahul |                  1 |
+-------+--------------------+
1 row in set (0.00 sec)

上記のクエリは、「Rahul」という学生の数学(Math)とヒンディー語(Hindi)の点数を比較しています。結果セットから、Rahulはヒンディー語よりも数学の方が高い点数を取ったことがわかります。

STRCMP()関数の戻り値について

STRCMP()関数は以下のような値を返します。

  • 0:両方の値が等しい場合
  • 1:最初の引数の値が大きい場合
  • -1:2番目の引数の値が大きい場合

この例では戻り値が「1」であるため、Mathの点数がHindiの点数より高いことを意味しています。このようにSTRCMP()関数を活用すれば、SQLクエリ内で直接列同士の値を手軽に比較できます。

  1. MySQLでテーブルのすべての列を削除する方法|DROP TABLEコマンドの使い方を解説

    MySQLでテーブル内の全カラムを削除するには?MySQLでは、テーブルに存在するすべてのカラム(列)を1つずつ削除していくことはできません。すべての列を削除したい場合、つまりテーブル自体をデータベースから取り除きたい場合は、DROP TABLE コマンドを使用します。DROP TABLEの基本構文DROP TABLE テーブル名;このコマンドを実行すると、指定したテーブルとその中のすべてのデータ・構造が完全に削除されます。なお、この操作は元に戻せないため、実行前には必ず内容を確認してください。実際に試してみよう:サンプルテーブルの作成まずは動作を確認するために、以下のようにサンプルテーブルを

  2. MySQLで特定の3つの値しか格納できないカラムを持つテーブルを作成する方法

    MySQLで、あらかじめ決められた3つの値だけを格納できるカラムを持つテーブルを作成したい場合は、ENUMデータ型を使用します。ENUM型を使うと、指定した候補値以外のデータが挿入されるのを防ぐことができます。テーブルの作成まず、ENUM型のカラムを持つテーブルを作成しましょう。ここでは例として、「RED」「GREEN」「BLUE」の3色のみを許可するColorカラムを定義します。mysql> create table DemoTable838(Color ENUM(RED,GREEN,BLUE)); Query OK, 0 rows affected (0.67 sec)これで、Col