Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

테이블을 조인하고 MySQL 데이터베이스에서 값을 가져오는 방법은 무엇입니까?


테이블을 조인하려면 MySQL에서 JOIN 개념을 사용하십시오. 먼저 두 개의 테이블을 생성해 보겠습니다.

첫 번째 테이블을 만들어 보겠습니다 -

mysql> CREATE TABLE `demo52` (
−> `id` INT NOT NULL,
−> `name` VARCHAR(20) NOT NULL,
−> PRIMARY KEY (`id`)
−> );
Query OK, 0 rows affected (1.19 sec)

insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -

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)

다음은 두 번째 테이블을 생성하는 쿼리입니다.

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)

insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -

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)