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

MySQLでは、結合を使用してデータ駆動型のテーブル関係を維持するにはどうすればよいですか?


実際には、テーブル内のデータ駆動型の関係を回避できる場合があり、それらを結合する必要があります。これは、SELECTリストのCASEステートメントを使用して実行し、結合の可能性を処理できます。それを理解するために、次のデータを持つ3つのデータ駆動型テーブル「Student_Detail」の例を取り上げています-

mysql> Select * from student_detail;
+----+---------+
| Id | Name    |
+----+---------+
| 1  | Harshit |
| 2  | Rahul   |
| 3  | Aarav   |
+----+---------+
3 rows in set (0.00 sec)

これで、「Student_Harshit」、「Student_Rahul」、「Student_Aarav」の3つのテーブルが作成され、それぞれHarshit、Rahul、Aaravの生徒にコメントが表示されます。次のデータがあります-

mysql> Select * from Student_Harshit;
+----+-----------+
| Id | Remarks   |
+----+-----------+
| 1  | Excellent |
+----+-----------+
1 row in set (0.00 sec)

mysql> Select * from Student_Rahul;
+----+---------+
| Id | Remarks |
+----+---------+
| 2  | Average |
+----+---------+
1 row in set (0.00 sec)

mysql> Select * from Student_Aarav;
+----+-------------+
| Id | Remarks     |
+----+-------------+
| 3  | Intelligent |
+----+-------------+
1 row in set (0.00 sec)

これで、次のクエリがこれらのデータ駆動型テーブルを処理します-

mysql> Select sd.id, sd.name, CASE name WHEN 'Harshit' THEN H1.Remarks WHEN 'Rahul' THEN R1.Remarks WHEN 'Aarav' THEN A1.Remarks ELSE 'Error' END as REMARKS FROM Student_detail AS sd LEFT JOIN Student_Harshit AS H1 ON sd.id = H1.id LEFT JOIN Student_Rahul AS R1 ON sd.id = R1.id LEFT JOIN Student_Aarav AS A1 on sd.id = A1.id;
+----+---------+-------------+
| id | name    | REMARKS     |
+----+---------+-------------+
| 1  | Harshit | Excellent   |
| 2  | Rahul   | Average     |
| 3  | Aarav   | Intelligent |
+----+---------+-------------+
3 rows in set (0.00 sec)

  1. MySQLを使用して1日1ページあたりの訪問者をカウントするにはどうすればよいですか?

    注: 「DBNAME」という名前のデータベースと「tableName」という名前のテーブルを作成したと仮定します。 MySQLを使用して1ページあたり1日あたりの訪問者数を照会する方法を理解しましょう。これは、ビットグループ関数-を使用して実行できます。 クエリ SELECT DATE(date) Date, page_id, COUNT(*) colName FROM tableName GROUP BY DATE(date), page_id ここで、「colName」は「1日あたりの訪問数」列を示し、「tableName」は訪問者に関する詳細を含むテーブルを示します。 上記のクエリ

  2. Pythonを使用してMySQLでテーブルをコピーするにはどうすればよいですか?

    Pythonを使用してmysqlに既存のテーブルのコピーを作成できます。テーブル全体がコピーされます。これには、列、列定義、およびテーブルのすべての行が含まれます。 構文 CREATE TABLE table_name SELECT * FROM existing_table table_nameは、作成される新しいテーブルの名前です。 previous_tableは、コピーされるテーブルの名前です。 PythonでMySQLを使用してテーブルをコピーする手順 MySQLコネクタをインポートする connect()を使用してコネクタとの接続を確立します cursor()メソ