亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:124日期: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的時候,我完全能理解,把表1在表2對應(yīng)的類名顯示出來,

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

問題解答

回答1:

LEFT JOIN和LEFT OUTER JOIN是一樣的,只是通常我們寫SQL語句的是時候把OUTER給省略了。這個可以理解像內(nèi)連接,我們寫內(nèi)連接的時候,通常也是省略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把左連接和右連接兩個語句連在一起

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),這個會涉及到笛卡爾積,笛卡爾積我個人理解就是兩個表交叉組合。所以得到的集合結(jié)果就是查詢到的A表符合條件的記錄*B表符合條件的記錄.

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

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

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

相關(guān)文章:
主站蜘蛛池模板: 五月久久亚洲七七综合中文网 | 视频国产91 | 97在线视频99播放 | 黄色免费在线看 | 国产色司机在线视频免费观看 | 国产20页 | 国产精品嫩草影院在线观看免费 | 欧美一级毛片不卡免费观看 | 嫩草视频在线观看 | 91福利区| 欧美操片在线观看 | 老妇女人一级毛片 | 亚洲欧洲精品国产二码 | 国产剧情视频在线观看 | 黄色在线观看www | 国产精品免费视频一区 | 高清一本视频在线观看 | 国产精品亚洲玖玖玖在线靠爱 | 国产综合精品 | 99久久国语露脸精品国产 | 欧美一区二区三区国产精品 | 无人精品乱码一区二区三区 | 九九精品视频在线观看 | 国产uv1区二区三区 国产va免费精品观看 | 欧美日韩亚洲综合在线一区二区 | 国产精品1024永久免费视频 | 国产福利午夜自产拍视频在线 | 国产精品亚洲精品日韩动图 | 国外精品视频在线观看免费 | 黄色香蕉视频网站 | 欧美成人免费在线视频 | 日韩成人免费aa在线看 | 高清国产一区二区 | 多男一女一级淫片免费播放口 | 成人h视频在线观看 | 国产精品美女在线观看 | 欧美一区二区在线观看免费网站 | 精品小视频在线观看 | 动漫男女交性动漫网站 | 伊人久久精品一区二区三区 | 亚洲成a人片在线观看播放 亚洲成a人片在线播放观看国产 |