Heim  >  Artikel  >  Datenbank  >  Wie erstelle ich eine MySQL-Ansicht mit Daten aus mehreren Tabellen?

Wie erstelle ich eine MySQL-Ansicht mit Daten aus mehreren Tabellen?

王林
王林nach vorne
2023-08-29 16:25:021256Durchsuche

如何使用多个表中的数据创建 MySQL 视图?

Der MySQL UNION-Operator kann zwei oder mehr Ergebnismengen kombinieren, sodass wir den UNION-Operator verwenden können, um eine Ansicht zu erstellen, die Daten aus mehreren Tabellen enthält. Um dieses Konzept zu verstehen, verwenden wir die Basistabellen „Student_info“ und „Student_detail“ mit den folgenden Daten –

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 133  | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
6 rows in set (0.00 sec)

mysql> Select * from Student_detail;
+-----------+-------------+------------+
| Studentid | StudentName | address    |
+-----------+-------------+------------+
|       100 | Gaurav      | Delhi      |
|       101 | Raman       | Shimla     |
|       103 | Rahul       | Jaipur     |
|       104 | Ram         | Chandigarh |
|       105 | Mohan       | Chandigarh |
+-----------+-------------+------------+
5 rows in set (0.00 sec)

Beispiel

Die folgende Abfrage erstellt eine Ansicht unter Verwendung der Daten aus den beiden oben genannten Tabellen –

mysql> Create or Replace View Info AS Select StudentName from Student_detail UNION Select Name From Student_info;
Query OK, 0 rows affected (0.10 sec)

mysql> select * from info;
+-------------+
| StudentName |
+-------------+
| Gaurav      |
| Raman       |
| Rahul       |
| Ram         |  
| Mohan       |
| YashPal     |
| Shyam       |
+-------------+
7 rows in set (0.00 sec)

Das obige Ergebnis set Enthält eine Kombination von Werten aus zwei Spalten. Wenn ein Wert dupliziert wird, werden die duplizierten Werte entfernt.

Wir können auch alle Werte speichern oder einen Wert wiederholen, indem wir UNION ALL verwenden, wie in der folgenden Abfrage gezeigt -

mysql> Create or Replace View Info AS Select student name from Student_detail UNION ALL Select Name From Student_info;
Query OK, 0 rows affected (0.16 sec)

mysql> select * from info;
+-------------+
| StudentName |
+-------------+
| Gaurav      |
| Raman       |
| Rahul       |
| Ram         |
| Mohan       |
| YashPal     |
| Gaurav      |
| Raman       |
| Ram         |
| Shyam       |
| Mohan       |
+-------------+
11 rows in set (0.00 sec)

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine MySQL-Ansicht mit Daten aus mehreren Tabellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen