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

2つのMySQLテーブルのデータをどのように比較できますか?


特にデータを移行する場合は、2つのテーブルから一致しないデータを特定する必要がある場合があります。これは、テーブルを比較することで実行できます。以下の例で、「students」と「student1」という名前の2つのテーブルがあるとします。

mysql> Select * from students;
+--------+--------+----------+
| RollNo | Name   | Subject  |
+--------+--------+----------+
|    100 | Gaurav | Computer |
|    101 | Raman  | History  |
|    102 | Somil  | Computer |
+--------+--------+----------+
3 rows in set (0.00 sec)

mysql> select * from student1;
+--------+--------+----------+
| RollNo | Name | Subject |
+--------+--------+----------+
|    100 | Gaurav | Computer |
|    101 | Raman  | History  |
|    102 | Somil  | Computer |
|    103 | Rahul  | DBMS     |
|    104 | Aarav  | History  |
+--------+--------+----------+
5 rows in set (0.00 sec)

次に、以下のクエリを使用して、これらのテーブルを比較し、一致しない行を結果セットとして取得できます。

mysql> Select RollNo,Name,Subject from(select RollNo,Name,Subject from students union all select RollNo,Name,Subject from Student1)as std GROUP BY RollNo,Name,Subject HAVING Count(*) = 1 ORDER BY RollNo;
+--------+-------+---------+
| RollNo | Name  | Subject |
+--------+-------+---------+
|    103 | Rahul | DBMS    |
|    104 | Aarav | History |
+--------+-------+---------+
1 rows in set (0.02 sec)

  1. 1つのMySQLクエリで2つのテーブルの行をカウントするにはどうすればよいですか?

    まずテーブルを作成しましょう- mysql> create table DemoTable1 (    Name varchar(40) ); Query OK, 0 rows affected (0.81 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values('Chris'); Query OK, 1 row affected (0.48 sec) mysql> insert into DemoTable1 values('Robe

  2. PythonでMySQLを使用して、2つのテーブルで自己結合を実行するにはどうすればよいですか?

    SQLの2つのテーブルは、それらの間の共通の列に基づいて、または指定された条件に基づいて結合できます。 2つのSQLテーブルを結合するために使用できるJOINにはさまざまなタイプがあります。 ここでは、2つのテーブルでのSELF結合について説明します。 名前が示すように、SELF結合はテーブル自体との結合です。この結合は、同じテーブルの2つのコピー間で実行されます。テーブルの行は、特定の条件に基づいて、同じテーブルの他の行と照合されます。 構文 SELECT a.coulmn1 , b.column2 FROM table_name a, table_name b WHERE condit