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

두 MySQL 테이블 간에 누락된 값을 찾는 방법은 무엇입니까?

<시간/>

두 MySQL 테이블 사이에서 누락된 값을 찾으려면 NOT IN을 사용하십시오. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable1(Value int);
Query OK, 0 rows affected (0.56 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1 values(1);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1 values(2);
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable1 values(5);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1 values(6);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1 values(8);
Query OK, 1 row affected (0.16 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable1;

이것은 다음과 같은 출력을 생성합니다 -

+-------+
| Value |
+-------+
|     1 |
|     2 |
|     5 |
|     6 |
|     8 |
+-------+
5 rows in set (0.00 sec)

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

mysql> create table DemoTable2(Value int);
Query OK, 0 rows affected (1.19 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable2 values(1);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable2 values(2);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable2 values(3);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable2 values(4);
Query OK, 1 row affected (0.12 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable2;

이것은 다음과 같은 출력을 생성합니다 -

+-------+
| Value |
+-------+
|     1 |
|     2 |
|     3 |
|     4 |
+-------+
4 rows in set (0.00 sec)

다음은 두 개의 MySQL 테이블 사이에서 누락된 값을 찾는 쿼리입니다 -

mysql> select Value from DemoTable1 where Value not in(select Value from DemoTable2);

이것은 다음과 같은 출력을 생성합니다 -

+-------+
| Value |
+-------+
|     5 |
|     6 |
|     8 |
+-------+
3 rows in set (0.07 sec)