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

MySQL結合を使用して、テーブル間の差異をどのように実装できますか?


1番目のテーブルから2番目のテーブルへ、および2番目のテーブルから1番目のテーブルへの除外結合を結合することにより、テーブル間の違いを取得できます。それを理解するために、次の2つの表の例を取り上げています-

mysql> Select * from value1;
+-----+-----+
| i   | j   |
+-----+-----+
|   1 |   1 |
|   2 |   2 |
+-----+-----+
2 rows in set (0.00 sec)

mysql> Select * from value2;
+------+------+
| i    | j    |
+------+------+
|    1 |   1  |
|    3 |   3  |
+------+------+
2 rows in set (0.00 sec)

これで、次のクエリはテーブル「value1」と「value2」の違いを実行します-

mysql> Select * from value1 left join value2 using(i,j) where value2.i is NULL UNION Select * from value2 left join value1 using(i,j) Where value1.i is NULL;
+------+-----+
| i    | j   |
+------+-----+
|    2 |   2 |
|    3 |   3 |
+-----+------+
2 rows in set (0.07 sec)

  1. MySQLでIDが最も高い行を選択するにはどうすればよいですか?

    LIMIT OFFSET を使用したORDERBYを使用して、MySQLでIDが最も高い行を選択できます。 構文は次のとおりです- select *from yourTableName order by yourColumnName desc limit 1 offset 0; 上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです- mysql> create table HighestIdOrderBy    −> (    −> EmployeeId int

  2. MySQLでテーブルを作成および更新した日付を確認するにはどうすればよいですか?

    MySQLのcreate_timeまたはupdate_timeを使用して、テーブルの作成と更新の正確な日付を取得します。 最初に、SHOWコマンドを使用します。構文は次のとおりです SHOW TABLE STATUS; すでにいくつかのテーブルがあるデータベース「test3」を検討しています mysql> use test3; Database changed 次に、次のクエリを使用して、データベースtest3のすべてのテーブルを表示します mysql> show tables; 以下は出力です +-------------------------+ | Tables_in