首頁 > 資料庫 > mysql教程 > 如何使用多個表中的資料建立 MySQL 視圖?

如何使用多個表中的資料建立 MySQL 視圖?

王林
發布: 2023-08-29 16:25:02
轉載
1324 人瀏覽過

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

MySQL UNION 運算子可以組合兩個或多個結果集,因此我們可以使用 UNION 運算子建立一個包含多個表格資料的檢視。為了理解這個概念,我們使用具有以下資料的基底表「Student_info」和「Student_detail」 -

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

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)

登入後複製

範例

下面的查詢將使用上述兩個表中的資料建立一個視圖-

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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)

登入後複製

上面的結果集包含兩個欄位中的值的組合。如果一個值重複,那麼它會消除重複的值。

我們也可以儲存所有值,也可以透過使用 UNION ALL 來重複一個值,如以下查詢所示 -

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

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)

登入後複製

以上是如何使用多個表中的資料建立 MySQL 視圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板