単一のクエリで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)
-
単一のクエリで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
-
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