国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

mysql - SQL 這個(gè) left jion 和 left outer jion 怎么結(jié)果是一樣的?

瀏覽:132日期:2022-06-21 18:37:41

問題描述

SELECT b.id,b.cid,b.name,t.type FROM shbooks b LEFT JOIN shtype t ON t.id = b.cid;SELECT b.id,b.cid,b.name,t.type FROM shbooks b LEFT OUTER JOIN shtype t ON t.id = b.cid;

不加OUTER的時(shí)候,我完全能理解,把表1在表2對(duì)應(yīng)的類名顯示出來,

但是加上 OUTER后,我看到結(jié)果還是一模一樣,用什么例子可以理解加和不加的區(qū)別呢?

問題解答

回答1:

LEFT JOIN和LEFT OUTER JOIN是一樣的,只是通常我們寫SQL語句的是時(shí)候把OUTER給省略了。這個(gè)可以理解像內(nèi)連接,我們寫內(nèi)連接的時(shí)候,通常也是省略INNER,直接寫JOIN

多表鏈接有

內(nèi)連接(JOIN 或 INNER JOIN)

SELECT * FROM a [INNER] JOIN b ON a.id=b.id

外連接

左連接或者叫左外向連接(LEFT JOIN 或者 LEFT OUTER JOIN)

SELECT * FROM a LEFT [OUTER] JOIN b ON a.id=b.id

右連接或者叫右外向連接(RIGHT JOIN 或者 RIGHT OUTER JOIN)

SELECT * FROM a RIGHT [OUTER] JOIN b ON a.id=b.id

完全外連接,就是通過關(guān)鍵UNION把左連接和右連接兩個(gè)語句連在一起

SELECT * FROM a LEFT [OUTER] JOIN b ON a.id=b.idUNIONSELECT * FROM a RIGHT [OUTER] JOIN b ON a.id=b.id

交叉連接(CROSS JOIN),這個(gè)會(huì)涉及到笛卡爾積,笛卡爾積我個(gè)人理解就是兩個(gè)表交叉組合。所以得到的集合結(jié)果就是查詢到的A表符合條件的記錄*B表符合條件的記錄.

這個(gè)有個(gè)小坑,就是不能像內(nèi)連接和外連接一樣,給語句加上ON,如果加了,查詢結(jié)果就像內(nèi)連接一樣

SELECT * FROM a CROSS JOIN b where a.id=1回答2:

這兩個(gè)應(yīng)該就是一樣的吧。left join是left outer join的簡寫。你可以用explain extended和show warnings看到數(shù)據(jù)庫優(yōu)化改寫之后的語句,兩個(gè)SQL是一樣的。

相關(guān)文章:
主站蜘蛛池模板: 97国产成人精品免费视频 | 一本一道波多野结衣456 | bt天堂国产亚洲欧美在线 | 午夜爽爽性刺激一区二区视频 | 国产一级真人毛爱做毛片 | 一级黄色欧美片 | 一区二区视屏 | 日韩美女免费线视频 | 手机在线精品视频 | 久久精品人人爽人人爽快 | 99热久久国产精品免费观看 | 欧美成人3d动漫专区 | 日本免费一级视频 | 精品视频在线视频 | 一本三道a无线码一区v | 免费手机黄色网址 | 大看蕉a在线观看 | 鲁丝片一区二区三区免费 | 在线观看 国产 | 99精品视频在线视频免费观看 | 亚洲国内精品 | 久草在线资源网站 | 午夜一级毛片免费视频 | 久久ri精品高清一区二区三区 | 三级毛片免费看 | 国内精品久久国产大陆 | 婷婷尹人香蕉久久天堂 | 91专区在线 | 久草在线中文视频 | 欧美一级欧美三级在线观看 | 中文字幕亚洲不卡在线亚瑟 | 亚洲一区二区三区福利在线 | 国产亚洲欧美日韩在线观看一区二区 | 千涩成人网| 久草观看 | 日本久久久久一级毛片 | 99热久久国产精品免费看 | 国产成人久久精品一区二区三区 | 荡女妇边被c边呻吟久久 | 视频一区色眯眯视频在线 | 亚洲二区在线 |