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

2つの異なるMySQL列で使用可能な1つの列の値のリストを選択して表示するにはどうすればよいですか?


これには、UNIONALLを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1813
     (
     Name1 varchar(20),
     Name2 varchar(20)
     );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1813 values('John','Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1813 values('Adam','Robert');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1813 values('Mike','Sam');
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1813;

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

+-------+--------+
| Name1 | Name2  |
+-------+--------+
| John  |  Chris |
| Adam  |  Robert|
| Mike  |    Sam |
+-------+--------+
3 rows in set (0.00 sec)

これは、2つの異なる列で使用可能な1つの列の値のリストを選択するためのクエリです

mysql> select Name1 as Name from DemoTable1813
     union all
     select Name2 as Name from DemoTable1813;

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

+--------+
| Name   |
+--------+
| John   |
| Adam   |
| Mike   |
| Chris  |
| Robert |
| Sam    |
+--------+
6 rows in set (0.00 sec)

  1. MySQLでそのような列値の1つがnullの場合、2つの列を連結します

    クエリの実行中に問題が発生しないようにするには、IFNULL()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1793      (      StudentFirstName varchar(20),      StudentLastName varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコード

  2. 1つの列から別の列に文字列値(ハイフン付き)を分離して選択するMySQLクエリ

    このために、SUBSTRING_INDEX()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1962    (    EmployeeInformation text    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1962 values('101-John-29'); Query OK