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表關聯,對于多表關聯的 INNER JOIN 寫法有一個技巧
1. 先寫最簡單的2表關聯 INNER JOIN
2. 然后使用 () 從 FROM 之后到語句結尾全部擴起來
3. 在語句結尾開始連接與下一個表的 INNER JOIN
記住這個原則,未來進行4表關聯,5表關聯就都不是什么難事了
刪除視圖
DROP VIEW view_name
以下是其它網友的補充:
多表聯接是十分有用的技術,因為某 些情況下,我們需要跨越多個表查詢數據。
語法格式:
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.字段號,只要套用該格式就可以了。
注意事項:
在輸入字母過程中,一定要用英文半角標點符號,單詞之間留一半角空格;
在建立數據表時,如果一個表與多個表聯接,那么這一個表中的字段必須是“數字”數據類型,而多個表中的相同字段必須是主鍵,而且是“自動編號”數 據類型。否則,很難聯接成功。
代碼嵌套快速方法:如,想連接五個表,則只要在連接四個表的代碼上加一個前后括號(前括號加在FROM的后面,后括號加在代碼的末尾即可),然后 在后括號后面繼續(xù)添加“INNER JOIN 表名X ON 表1.字段號=表X.字段號”代碼即可,這樣就可以無限聯接數據表了。
連接兩個數據表的用法:
FROM 表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號
連接三個數據表的用法:
FROM (表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號
連接四個數據表的用法:
FROM ((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER JOIN 表4 ON Member.字段號=表4.字段號
連接五個數據表的用法:
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的實現
- MySQL INNER JOIN 的底層實現原理分析
- MySQL中的 inner join 和 left join的區(qū)別解析(小結果集驅動大結果集)
- SQL聯合查詢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內外連接(INNER JOIN)語句詳解
- SQL中的INNER?JOIN操作方法
相關文章
mysql:ERROR?2003?(HY000)故障錯誤解決方法與思路
這篇文章主要給大家介紹了關于mysql:ERROR?2003?(HY000)故障錯誤解決方法與思路的相關資料,error 2003 hy000是MySQL數據庫中一個常見的錯誤代碼,它通常意味著MySQL無法建立到數據庫的連接,需要的朋友可以參考下2024-02-02
MySQL?中的?SQL_MODE?設置方法ANSI_QUOTES?選項解析與應用小結
sql_mode是?MySQL?中的一個系統(tǒng)變量,用于控制?SQL?語句的解析和執(zhí)行方式,它由多個選項組成,每個選項都可以獨立設置,以滿足不同的應用場景需求,這篇文章主要介紹了MySQL?中的?SQL_MODE?設置:ANSI_QUOTES?選項解析與應用2024-12-12
一文詳解MYSQL的多版本并發(fā)控制MVCC(Multi-Version Concurrency Co
MVCC是一種用于數據庫管理系統(tǒng)的并發(fā)控制技術,允許多個事務同時訪問數據庫,而不會導致讀寫沖突,本文就詳細的介紹了MVCC的具體用法,具有一定的參考價值,感興趣的可以了解一下2023-10-10
mysql Non-Transactional Database Only(只支持MyISAM)
按照discuz官方的建議,選的都是Non-Transactional Database Only 只支持MyISAM,其實默認都安裝也挺好2016-04-04

