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

MySQL IN()関数を使用して列の名前との比較に基づいて出力を取得するにはどうすればよいですか?


このシナリオでは、列の名前を「式」として使用する必要があります。これは、リスト内の値と比較されます。列の値がリスト内で一致する場合、出力が生成されます。それを理解するために、次のデータを持つ従業員テーブルの例を考えてみましょう-

mysql> Select * from Employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
+----+--------+--------+
6 rows in set (0.00 sec)

これで、次のようにIN()関数で列「ID」を使用できます-

mysql> Select * from Employee WHERE ID IN(6,2,3,20,10,9);
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 2  | Rahul | 20000  |
| 3  | Advik | 25000  |
| 6  | Mohan | 30000  |
+----+-------+--------+
3 rows in set (0.00 sec)

上記の結果セットから、IN()関数が列「ID」の値をリスト内の値と一致させ、一致した行を出力として提供することは明らかです。


  1. MySQLを使用してJavaでResultSetの列名を取得するにはどうすればよいですか?

    結果セットの列名を取得するには、getMetaData()メソッドを使用する必要があります。 getMetadata()のプロトタイプは次のとおりです- ResultSetMetaData getMetaData throws SQLException; 5つの列名を持つMySQLテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table javagetallcolumnnames    -> (    -> Id int NOT NULL AUTO_INCREMENT,  

  2. MySQLAggregate関数を使用して列の最大値を取得します

    列の最大値を取得するために、MySQLには事前定義された集計関数MAX()があります。まずテーブルを作成しましょう- mysql> create table DemoTable (    Id int ); Query OK, 0 rows affected (0.96 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTabl