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

テーブルを結合して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)

  1. MySQLのデータベースからテーブル名を取得するにはどうすればよいですか?

    MySQLのデータベースからテーブル名を取得するための構文は、次のとおりです- show tables from yourDatabaseName; MySQLのデータベースからテーブル名を取得するために上記のクエリを実装しましょう- mysql> show tables from hb_student_tracker; これにより、次の出力が生成されます- +------------------------------+ | Tables_in_hb_student_tracker | +------------------------------+ | demotable192

  2. 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) 挿入コマンド-を使用して、テーブルにいくつか