テーブルを結合してMySQLデータベースから値をフェッチする方法は?
テーブルを結合するには、MySQLのJOINコンセプトを使用します。まず、2つのテーブルを作成しましょう。
最初のテーブルを作成しましょう-
mysql> CREATE TABLE `demo52` ( −> `id` INT NOT NULL, −> `name` VARCHAR(20) NOT NULL, −> PRIMARY KEY (`id`) −> ); Query OK, 0 rows affected (1.19 sec)
挿入コマンド-
を使用して、いくつかのレコードをテーブルに挿入します。mysql> insert into demo52 values(1,'John'); Query OK, 1 row affected (0.17 sec) mysql> insert into demo52 values(2,'David'); Query OK, 1 row affected (0.10 sec) mysql> insert into demo52 values(3,'Mike'); Query OK, 1 row affected (0.13 sec)
selectステートメントを使用してテーブルのレコードを表示する-
mysql> select *from demo52;
これにより、次の出力が生成されます-
+----+-------+ | id | name | +----+-------+ | 1 | John | | 2 | David | | 3 | Mike | +----+-------+ 3 rows in set (0.00 sec)
以下は、2番目のテーブルを作成するためのクエリです。
mysql> CREATE TABLE `demo53` ( −> `id` INT NOT NULL, −> `age` INT NOT NULL, −> PRIMARY KEY (`id`), −> CONSTRAINT `id_demo` FOREIGN KEY (`id`) REFERENCES `demo52` (`id`) −> ); Query OK, 0 rows affected (0.57 sec)
挿入コマンド-
を使用して、いくつかのレコードをテーブルに挿入します。mysql> insert into demo53 values(1,23); Query OK, 1 row affected (0.08 sec) mysql> insert into demo53 values(2,22); Query OK, 1 row affected (0.15 sec) mysql> insert into demo53 values(3,26); Query OK, 1 row affected (0.13 sec)
selectステートメントを使用してテーブルのレコードを表示する-
mysql> select *from demo53;
これにより、次の出力が生成されます-
+----+-----+ | id | age | +----+-----+ | 1 | 23 | | 2 | 22 | | 3 | 26 | +----+-----+ 3 rows in set (0.00 sec)
以下は、id-
を使用してユーザー名を取得するためのクエリです。mysql> SELECT name FROM demo52 t1 −> JOIN demo53 t2 −> ON t1.id=t2.id WHERE t1.id=1;
これにより、次の出力が生成されます-
+------+ | name | +------+ | John | +------+ 1 row in set (0.00 sec)
-
MySQLのデータベースからテーブル名を取得するにはどうすればよいですか?
MySQLのデータベースからテーブル名を取得するための構文は、次のとおりです- show tables from yourDatabaseName; MySQLのデータベースからテーブル名を取得するために上記のクエリを実装しましょう- mysql> show tables from hb_student_tracker; これにより、次の出力が生成されます- +------------------------------+ | Tables_in_hb_student_tracker | +------------------------------+ | demotable192
-
MySQLデータベースからランダムレコードを選択するにはどうすればよいですか?
このために、ORDER BYRANDLIMITを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1581 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20) -> ); Query OK, 0 rows affected (1.34 sec) 挿入コマンド-を使用して、テーブルにいくつか