MySQL中視圖的使用及多表INNER JOIN的技巧分享
創(chuàng)建視圖
Sql代碼
CREATE VIEW view_name AS SELECT t1.xxx, t2.xxx, t3.xxx FROM (table1 t1 INNER JOIN table2 t2 ON t1.fid = t2.fid) INNER JOIN table3 t3 ON t1.mid = t3.mid;
這里使用了3表關(guān)聯(lián),對于多表關(guān)聯(lián)的 INNER JOIN 寫法有一個技巧
1. 先寫最簡單的2表關(guān)聯(lián) INNER JOIN
2. 然后使用 () 從 FROM 之后到語句結(jié)尾全部擴起來
3. 在語句結(jié)尾開始連接與下一個表的 INNER JOIN
記住這個原則,未來進行4表關(guān)聯(lián),5表關(guān)聯(lián)就都不是什么難事了
刪除視圖
DROP VIEW view_name
以下是其它網(wǎng)友的補充:
多表聯(lián)接是十分有用的技術(shù),因為某 些情況下,我們需要跨越多個表查詢數(shù)據(jù)。
語法格式:
FROM (((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER JOIN 表4 ON Member.字段號=表4.字段號) INNER JOIN 表X ON Member.字段號=表X.字段號,只要套用該格式就可以了。
注意事項:
在輸入字母過程中,一定要用英文半角標(biāo)點符號,單詞之間留一半角空格;
在建立數(shù)據(jù)表時,如果一個表與多個表聯(lián)接,那么這一個表中的字段必須是“數(shù)字”數(shù)據(jù)類型,而多個表中的相同字段必須是主鍵,而且是“自動編號”數(shù) 據(jù)類型。否則,很難聯(lián)接成功。
代碼嵌套快速方法:如,想連接五個表,則只要在連接四個表的代碼上加一個前后括號(前括號加在FROM的后面,后括號加在代碼的末尾即可),然后 在后括號后面繼續(xù)添加“INNER JOIN 表名X ON 表1.字段號=表X.字段號”代碼即可,這樣就可以無限聯(lián)接數(shù)據(jù)表了。
連接兩個數(shù)據(jù)表的用法:
FROM 表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號
連接三個數(shù)據(jù)表的用法:
FROM (表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號
連接四個數(shù)據(jù)表的用法:
FROM ((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER JOIN 表4 ON Member.字段號=表4.字段號
連接五個數(shù)據(jù)表的用法:
FROM (((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER JOIN 表4 ON Member.字段號=表4.字段號) INNER JOIN 表5 ON Member.字段號=表5.字段號
- SQL中INNER JOIN的實現(xiàn)
- MySQL INNER JOIN 的底層實現(xiàn)原理分析
- MySQL中的 inner join 和 left join的區(qū)別解析(小結(jié)果集驅(qū)動大結(jié)果集)
- SQL聯(lián)合查詢inner join、outer join和cross join的區(qū)別詳解
- Mysql inner join on的用法實例(必看)
- SQL之left join、right join、inner join的區(qū)別淺析
- MYSQL使用inner join 進行 查詢/刪除/修改示例
- 超詳細mysql left join,right join,inner join用法分析
- MSSQL內(nèi)外連接(INNER JOIN)語句詳解
- SQL中的INNER JOIN操作方法
相關(guān)文章
MySQL數(shù)據(jù)庫中如何查詢近一年的數(shù)據(jù)
最近碰到一個需求是統(tǒng)計某張表的數(shù)據(jù),統(tǒng)計時間維度為近一年,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫中如何查詢近一年的數(shù)據(jù)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-07-07DBeaver連接mysql數(shù)據(jù)庫錯誤圖文解決方案
這篇文章主要給大家介紹了關(guān)于DBeaver連接mysql數(shù)據(jù)庫錯誤解決方案的相關(guān)資料,DBeaver是免費、開源、通用數(shù)據(jù)庫工具,是許多開發(fā)開發(fā)人員和數(shù)據(jù)庫管理員的所選,需要的朋友可以參考下2023-11-11MYSQL錯誤:Can’t open file: ‘×××.MYI’ (errno: 14
這個錯誤是典型的mysql表受損造成的,解決的辦法就是修復(fù)表,這個問題也是mysql經(jīng)常容易出現(xiàn)的,mysql表和索引損壞的幾率很大,但是修復(fù)也很方便2011-01-01SQL?PRIMARY?KEY唯一標(biāo)識表中記錄的關(guān)鍵約束語句
這篇文章主要為大家介紹了SQL?PRIMARY?KEY唯一標(biāo)識表中記錄的關(guān)鍵約束語句詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12mysql自動填充時間的兩種實現(xiàn)方式小結(jié)
這篇文章主要介紹了mysql自動填充時間的兩種實現(xiàn)方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11linux mysql5.5升級至mysql5.7的步驟與踩到的坑
這篇文章主要介紹了linux mysql5.5升級至mysql5.7的詳細步驟,后面腳本之家小編為大家整理了多個補充,大家可以參考一下2021-01-01phpstudy無法啟動MySQL數(shù)據(jù)庫解決方法
這篇文章主要給大家介紹了關(guān)于phpstudy無法啟動MySQL數(shù)據(jù)庫的解決方法,文中通過圖文將解決的辦法介紹的非常詳細,對同樣遇到這個問題的同學(xué)具有一定的參考借鑒價值,需要的朋友可以參考下2024-05-05