亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

mysql多表連接查詢實例講解

2024-07-25 19:09:05
字體:
來源:轉載
供稿:網友

實際的項目,存在多張表的關聯關系。不可能在一張表里面就能檢索出所有數據。如果沒有表連接的話,那么我們就需要非常多的操作。比如需要從A表找出限制性的條件來從B表中檢索數據。不但需要分多表來操作,而且效率也不高。比如書中的例子:

代碼如下:

SELECT FIdFROM T_CustomerWHERE FName='MIKE'

這個SQL語句返回2,也就是姓名為MIKE 的客戶的FId值為2,這樣就可以到T_Order中檢索FCustomerId等于2 的記錄:

代碼如下:

SELECT FNumber,FPriceFROM T_OrderWHERE FCustomerId=2

下面我們詳細來看看表連接。表連接有多種不同的類型,有交叉連接(CROSS JOIN)、內連接(INNER JOIN)、外連接(OUTTER JOIN)。

(1)內連接(INNER JOIN):內連接組合兩張表,并且只獲取滿足兩表連接條件的數據。

代碼如下:

SELECT o.FId,o.FNumber,o.FPrice,c.FId,c.FName,c .FAgeFROM T_Order o JOIN T_Customer cON o.FCustomerId= c.FId

注:在大多數數據庫系統中,INNER JOIN中的INNER是可選的,INNER JOIN 是默認的連接方式。

在使用表連接的時候可以不局限于只連接兩張表,因為有很多情況下需要聯系許多表。例如,T_Order表同時還需要連接T_Customer和T_OrderType兩張表才能檢索到所需要的信息,編寫如下SQL語句即可:

代碼如下:

SELECT o.FId,o.FNumber,o.FPrice,c.FId,c.FName,c .FAgeFROM T_Order o JOIN T_Customer cON o.FCustomerId= c.FIdINNER JOIN T_OrderTypeON T_Order.FTypeId= T_OrderType.FId

(2)交叉連接(CROSS JOIN):交叉連接所有涉及的表中的所有記錄都包含在結果集中??梢圆捎脙煞N方式來定義交叉連接,分別是隱式和顯式的連接。

下面看看隱式的例子:

代碼如下:

SELECT T_Customer.FId, T_Customer.FName, T_Customer.FAge,T_Order.FId, T_Order.FNumber, T_Order.FPriceFROM T_Customer, T_Order

使用顯式的連接則需要使用CROSS JOIN,例子如下:

代碼如下:

SELECT T_Customer.FId, T_Customer.FName, T_Customer.FAge,T_Order.FId, T_Order.FNumber, T_Order.FPriceFROM T_CustomerCROSS JOIN T_Order

(3)外連接(OUTTER JOIN):內部連接只獲取滿足連接條件的數據,而對于外部連接來說,主要是解決這樣的一種場景。滿足條件的數據檢索出來,這個沒有疑問,外部連接還會檢索另一部分數據,那就是將不滿足條件的數據以NULL來填充。先來看一下外連接的分類:左外部連接(LEFT OUTER JOIN)、右外部連接(RIGHT OUTER JOIN)和全外部連接(FULLOUTER JOIN)。

I、左外部連接(LEFT OUTER JOIN):前頭也說了,將不滿足條件的數據以NULL來填充。那么具體是哪些需要以NULL來填充呢,對于左外連接來說的話,連接條件當中,如果出現滿足條件的左表的數據在右表中沒有相應匹配時,需要把相應的右表字段填充NULL值。也就是說左外部連接的主體是左表,右表來配合。

代碼如下:

SELECT o.FNumber,o.FPrice,o.FCustomerId,c.FName,c.FAgeFROM T_Order oLEFT OUTER JOIN T_Customer cON o.FCustomerId=c.FId

注:如果使用左外部連接的話,通過where語句能過濾其中不符合的數據

代碼如下:

SELECT o.FNumber,o.FPrice,o.FCustomerId,c.FName,c.FAgeFROM T_Order oLEFT OUTER JOIN T_Customer cON o.FCustomerId=c.FIdWHERE o.FPrice>=150

II、右外部連接(RIGHT OUTER JOIN):右外部連接與左外連部接相反,將會被填充NULL值的是左表的字段。也就是說右外部連接的主體是右表,左表來配合。

代碼如下:

SELECT o.FNumber,o.FPrice,o.FCustomerId,c.FName,c.FAgeFROM T_Order oRIGHT OUTER JOIN T_Customer cON o.FCustomerId=c.FId

注:同左外連接一樣,可以使用where語句進行過濾

III、全外部連接(FULLOUTER JOIN):全外部連接是左外部連接和右外部連接的合集。也就是既包括左外部連接的結果集,也包括右外部連接的結果集。

代碼如下:

SELECT o.FNumber,o.FPrice,o.FCustomerId,c.FName,c.FAgeFROM T_Order oFULL OUTER JOIN T_Customer cON o.FCustomerId=c.FId

其結果相當于:

SELECT o.FNumber,o.FPrice,o.FCustomerId,c.FName,c.FAgeFROM T_Order oLEFT OUTER JOIN T_Customer cON o.FCustomerId=c.FIdUNIONSELECT o.FNumber,o.FPrice,o.FCustomerId,c.FName,c.FAgeFROM T_Order oRIGHT OUTER JOIN T_Customer cON o.FCustomerId=c.FId

多表查詢的多種sql寫法:(下面是從兩個表里查詢<也可以看成從三個表里查詢>,顯示表v_goods里的所有字段,顯示admin2表里的name字段作為添加人,顯示表admin2表的name字段作為操作人) 多個表的查詢都可按照下面三個例句進行編寫sql

SELECT v.*,(SELECT a.name FROM admin2 a WHERE a.adminId=v.loadInId) AS aname,(SELECT a.name FROM admin2 a WHERE a.adminId=v.operatorId) AS uname FROM v_goods v where 1=1;SELECT v.*,a.name aname,b.name uname FROM v_goods v,admin2 a,admin2 b WHERE a.adminId=v.loadInId AND b.adminId=v.operatorId ;SELECT v.*,a.name aname,b.name uname FROM v_goods v LEFT JOIN admin2 a ON a.adminId=v.loadInId LE


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜精品视频免费不卡69堂| 久久国产精品99国产精| 国产婷婷成人久久av免费高清| 91日韩在线视频| 欧美激情影音先锋| 成人免费在线网址| 国产成人精品久久亚洲高清不卡| 国产精品一区二区三区免费视频| 九九热精品视频国产| 中文字幕精品一区久久久久| 亚洲天堂免费在线| 久久在线观看视频| www.日本久久久久com.| 亚洲r级在线观看| 亚洲视频在线视频| 国产日本欧美一区二区三区在线| 欧美精品videofree1080p| 国产精品视频999| 亚洲国内精品在线| 亚洲国产精品va在线看黑人| 日韩av最新在线观看| 亚洲第一网站免费视频| 亚洲精品在线视频| 国产一区二区三区视频免费| 欧美一级高清免费| 亚洲全黄一级网站| 2019精品视频| 久久久爽爽爽美女图片| 国产精彩精品视频| 欧美韩国理论所午夜片917电影| 91久久精品美女高潮| 精品亚洲永久免费精品| 国内精品久久久久伊人av| 91精品一区二区| 亚洲国产精品福利| 亚洲最大在线视频| 欧美精品成人91久久久久久久| yellow中文字幕久久| 亚洲最大福利视频网站| 精品国产一区二区三区四区在线观看| 精品视频偷偷看在线观看| 国产欧美中文字幕| 久久精品久久精品亚洲人| 成人黄色片网站| 精品偷拍各种wc美女嘘嘘| 日韩av网址在线观看| 有码中文亚洲精品| 欧美乱人伦中文字幕在线| 欧美孕妇孕交黑巨大网站| 97人人做人人爱| 国产精品第一视频| 亚洲午夜色婷婷在线| 亚洲日本欧美中文幕| 欧美成人精品不卡视频在线观看| 国产精品激情自拍| 色综合久久悠悠| 91精品国产91久久| zzijzzij亚洲日本成熟少妇| 亚洲大尺度美女在线| 欧美日韩亚洲精品内裤| 欧美日韩一区免费| 欧美成人午夜影院| 国产在线精品一区免费香蕉| 欧美大片va欧美在线播放| 丁香五六月婷婷久久激情| 中日韩美女免费视频网址在线观看| 国产亚洲美女久久| 亚洲成人网av| 亚洲视频免费一区| 国产精品视频最多的网站| 欧美男插女视频| 亚洲欧美精品在线| 午夜伦理精品一区| 久久五月情影视| 午夜精品福利视频| 国产视频精品va久久久久久| 日韩国产高清污视频在线观看| 中文字幕日韩欧美在线视频| 久久男人的天堂| 久久天天躁狠狠躁夜夜躁| 国产精品久久久久久av下载红粉| 91手机视频在线观看| 美乳少妇欧美精品| 国产成人啪精品视频免费网| 97视频在线观看成人| 综合久久五月天| 欧美日本在线视频中文字字幕| 亚洲第一国产精品| www.日韩视频| 久久国产精品免费视频| 久久久久久高潮国产精品视| 91社影院在线观看| 97色在线视频| 欧美日韩在线免费观看| 日韩黄色在线免费观看| 一区二区三区天堂av| 久久久久久免费精品| 啊v视频在线一区二区三区| 欧美日韩一二三四五区| 久久夜精品va视频免费观看| 日韩在线欧美在线国产在线| 亚洲一级黄色av| 亚洲国产欧美日韩精品| 日韩av网站电影| 久久99久久99精品中文字幕| 91久久精品视频| 97在线精品国自产拍中文| 亚洲精品成人免费| 亚洲深夜福利在线| 久久伊人91精品综合网站| 高跟丝袜一区二区三区| 在线成人免费网站| 4388成人网| 久久国产精品电影| 黑人巨大精品欧美一区二区| 亚州精品天堂中文字幕| 亚洲综合成人婷婷小说| 国产成人综合精品| 最近2019好看的中文字幕免费| 欧美精品18videos性欧| 日韩国产中文字幕| 91精品国产综合久久香蕉| 久久91超碰青草是什么| 国产福利精品在线| 欧美诱惑福利视频| 国产suv精品一区二区三区88区| 高清亚洲成在人网站天堂| 亚洲美女动态图120秒| 久久免费成人精品视频| 米奇精品一区二区三区在线观看| 中文字幕亚洲综合| 久久久免费精品视频| 操91在线视频| 欧美丝袜一区二区三区| 国产专区欧美专区| 亚洲国产免费av| 久久精品最新地址| 另类色图亚洲色图| 国内精品久久久久久久| 69av成年福利视频| 97精品视频在线| 日本道色综合久久影院| 成人黄色片网站| 日韩av中文字幕在线免费观看| 欧美色xxxx| 亚洲色图18p| 中文字幕国产日韩| 91精品久久久久久久久久久久久久| 亚洲国产另类久久精品| 色多多国产成人永久免费网站| 亚洲无av在线中文字幕| 国产精品久久久久久久久久新婚| 欧美另类极品videosbestfree| 精品无人区乱码1区2区3区在线| 欧美成年人在线观看| 亚洲精品中文字幕有码专区| 亚洲精品美女久久| 久久中文字幕在线| 91精品久久久久久久久| 疯狂欧美牲乱大交777| 亚洲福利视频二区| 国产亚洲一区精品| 夜夜嗨av一区二区三区免费区| 国产一区二区激情|