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

単一のクエリでMySQLテーブルの別の列からカスタムオーダーで値を選択する


このために、IN()を使用できます。

最初にテーブルを作成しましょう:

mysql> create table DemoTable727 (
   Name varchar(100),
   Score int
);
Query OK, 0 rows affected (0.88 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します:

mysql> insert into DemoTable727 values('Chris',45);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable727 values('Robert',89);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable727 values('Carol',94);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable727 values('David',93);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable727 values('Mike',78);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable727 values('Sam',67);
Query OK, 1 row affected (0.22 sec)
>

selectステートメントを使用してテーブルのすべてのレコードを表示します:

mysql> select *from DemoTable727;

これにより、次の出力が生成されます-

+--------+-------+
| Name   | Score |
+--------+-------+
| Chris  | 45    |
| Robert | 89    |
| Carol  | 94    |
| David  | 93    |
| Mike   | 78    |
| Sam    | 67    |
+--------+-------+
6 rows in set (0.00 sec)

以下は、単一のクエリでMySQLテーブルの別の列からカスタム順序で値を選択するためのクエリです。

mysql> select Score from DemoTable727 where Name IN('Robert','David','Sam');

これにより、次の出力が生成されます-

+-------+
| Score |
+-------+
| 89    |
| 93    |
| 67    |
+-------+
3 rows in set (0.00 sec)

  1. 単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する

    テーブルを作成しましょう- mysql> create table DemoTable1922    (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa

  2. MySQLで選択した値が「0」の場合は別の列から選択しますか?

    これには、MySQLでIF()を使用します。構文は次のとおりです- select IF(yourColumnName1=0,yourColumnName2,yourColumnName1) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo30 −> ( −> id int not null auto_increment primary key, −> value int, −> original_value int