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é)尾全部擴(kuò)起來
3. 在語句結(jié)尾開始連接與下一個表的 INNER JOIN
記住這個原則,未來進(jìn)行4表關(guān)聯(lián),5表關(guān)聯(lián)就都不是什么難事了
刪除視圖
DROP VIEW view_name
以下是其它網(wǎng)友的補(bǔ)充:
多表聯(lián)接是十分有用的技術(shù),因?yàn)槟?些情況下,我們需要跨越多個表查詢數(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.字段號,只要套用該格式就可以了。
注意事項(xiàng):
在輸入字母過程中,一定要用英文半角標(biāo)點(diǎn)符號,單詞之間留一半角空格;
在建立數(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的實(shí)現(xiàn)
- MySQL INNER JOIN 的底層實(shí)現(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的用法實(shí)例(必看)
- SQL之left join、right join、inner join的區(qū)別淺析
- MYSQL使用inner join 進(jìn)行 查詢/刪除/修改示例
- 超詳細(xì)mysql left join,right join,inner join用法分析
- MSSQL內(nèi)外連接(INNER JOIN)語句詳解
- SQL中的INNER?JOIN操作方法
相關(guān)文章
mysql:ERROR?2003?(HY000)故障錯誤解決方法與思路
這篇文章主要給大家介紹了關(guān)于mysql:ERROR?2003?(HY000)故障錯誤解決方法與思路的相關(guān)資料,error 2003 hy000是MySQL數(shù)據(jù)庫中一個常見的錯誤代碼,它通常意味著MySQL無法建立到數(shù)據(jù)庫的連接,需要的朋友可以參考下2024-02-02
MySQL?中的?SQL_MODE?設(shè)置方法ANSI_QUOTES?選項(xiàng)解析與應(yīng)用小結(jié)
sql_mode是?MySQL?中的一個系統(tǒng)變量,用于控制?SQL?語句的解析和執(zhí)行方式,它由多個選項(xiàng)組成,每個選項(xiàng)都可以獨(dú)立設(shè)置,以滿足不同的應(yīng)用場景需求,這篇文章主要介紹了MySQL?中的?SQL_MODE?設(shè)置:ANSI_QUOTES?選項(xiàng)解析與應(yīng)用2024-12-12
MySQL創(chuàng)建數(shù)據(jù)表并建立主外鍵關(guān)系詳解
這篇文章主要介紹了MySQL創(chuàng)建數(shù)據(jù)表并建立主外鍵關(guān)系詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-06-06
一文詳解MYSQL的多版本并發(fā)控制MVCC(Multi-Version Concurrency Co
MVCC是一種用于數(shù)據(jù)庫管理系統(tǒng)的并發(fā)控制技術(shù),允許多個事務(wù)同時訪問數(shù)據(jù)庫,而不會導(dǎo)致讀寫沖突,本文就詳細(xì)的介紹了MVCC的具體用法,具有一定的參考價值,感興趣的可以了解一下2023-10-10
mysql Non-Transactional Database Only(只支持MyISAM)
按照discuz官方的建議,選的都是Non-Transactional Database Only 只支持MyISAM,其實(shí)默認(rèn)都安裝也挺好2016-04-04

