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

MySQLを使用したUNION選択クエリの列としてテーブル名を選択しますか?


これにはASコマンドを使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   Name varchar(20)
   );
Query OK, 0 rows affected (0.56 sec)

挿入コマンド-

を使用してテーブルにレコードを挿入します
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.18 sec)

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

mysql> select * from DemoTable;

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

+------+
| Name |
+------+
| John |
+------+
1 row in set (0.00 sec)

2番目のテーブルを作成するためのクエリは次のとおりです。

mysql> create table DemoTable2
   (
   Name varchar(20)
   );
Query OK, 0 rows affected (0.59 sec)

挿入コマンド-

を使用してテーブルにレコードを挿入します
mysql> insert into DemoTable2 values('Bob');
Query OK, 1 row affected (0.20 sec)

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

mysql> select *from DemoTable2;

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

+------+
| Name |
+------+
| Bob  |
+------+
1 row in set (0.00 sec)

以下は、MySQLのUNION選択クエリで列としてテーブル名を選択するためのクエリです-

mysql> select 'DemoTable' as DemoTable,Name from DemoTable
union
select 'DemoTable2' as DemoTable2,Name from DemoTable2
;

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

+--------------+------+
| DemoTable    | Name |
+--------------+------+
| DemoTable    | John |
| DemoTable2   | Bob  |
+--------------+------+
2 rows in set (0.00 sec)

  1. 名前レコードのある列の最後のスペースの左側にあるすべてを選択するMySQLクエリ

    これには、LEFT()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1939    (    FullName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1939 values('Adam Smith'); Query OK, 1 row affected

  2. テーブル全体を返すSELECTを使用したMySQLプロシージャ

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