您好,登錄后才能下訂單哦!
這篇文章主要講解了“mysql中全連接full join...on...怎么使用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“mysql中全連接full join...on...怎么使用”吧!
大部分開(kāi)發(fā)者可能會(huì)困惑,為什么我的sql語(yǔ)句怎么寫(xiě)都是錯(cuò)的。
很簡(jiǎn)單因?yàn)閒ull join … on …不支持mysql數(shù)據(jù)庫(kù),只支持Oracle數(shù)據(jù)庫(kù)。
廢話(huà)不多說(shuō)直接上例。
select a.* FROM (select table1.*,table2.* from table1 left JOIN table2 on table1.id=table2 .tid <-- 用左外連接 --> UNION <-- 通過(guò)UNION來(lái)鏈接 --> select table1.*,table2.* from table1 right JOIN table2 on table1.id=table2 .tid) as a <-- 用右外連接 --> where a.id = #{id} <-- 如果要根據(jù)條件查詢(xún),必須要把上面括號(hào)里的當(dāng)做子查詢(xún),條件必須寫(xiě)在外面 --> ORDER BY id <-- 其它操作跟在后面 -->
是不是感覺(jué)特別簡(jiǎn)單,但是對(duì)于新手來(lái)說(shuō)這可能會(huì)糾結(jié)好久,好了到此結(jié)束。
(1)內(nèi)連接
select * from user1 a INNER JOIN user2 b on a.id=b.id
INNER JOIN內(nèi)連接,展示的是兩表之間的交集,即獲取的是符合查詢(xún)條件(上面sql語(yǔ)句中a.id=b.id)的信息。
(2)JOIN連接之左連接/左外連接(LEFT JOIN/LEFT OUTER JOIN)
select * from user1 a LEFT JOIN user2 b on a.id=b.id
左連接查詢(xún)的就是左表的全部信息和符合查詢(xún)條件的信息(例如上面的a.id=b.id,即左右兩表符合關(guān)聯(lián)查詢(xún)條件的信息)兩部分。
(3)JOIN連接之右連接/右外連接(RIGHT JOIN/RIGHT OUTER JOIN)
select * from user1 a RIGHTJOIN user2 b on a.id=b.id
右連接查詢(xún)的是RIGHT JOIN右邊右表的全部信息加上左右兩邊符合關(guān)聯(lián)查詢(xún)條件的(即上面的a.id=b.id這個(gè)條件)。
(4)全連接(full join …on…)<Oracle數(shù)據(jù)庫(kù)支持full join,mysql不支持full join,但可以同過(guò)左外連接+ union+右外連接實(shí)現(xiàn)>
select * from user1 a FULL JOIN user2 b on a.id=b.id
全外連接其實(shí)是左連接和右連接的一個(gè)合集,也就是說(shuō)他會(huì)查詢(xún)出左表和右表的全部數(shù)據(jù)。
(5)交叉連接(cross join…)
select * from user1 a CROSS JOIN user2 b on a.id=b.id
交叉連接,也稱(chēng)為笛卡爾積,查詢(xún)返回結(jié)果的行數(shù)等于兩個(gè)表行數(shù)的乘積。
感謝各位的閱讀,以上就是“mysql中全連接full join...on...怎么使用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)mysql中全連接full join...on...怎么使用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。