• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            leftouterjoin(leftouterjoin和innerjoin)

            更新時間:2023-03-02 10:46:14 閱讀: 評論:0

            外連接(out join)

            外連接分為外左連接(left outer join)和外右連接(right outer join)

            注釋:left outer join 與 left join 等價, 一般寫成left join right outer join 與 right join等價,一般寫成right join

            左連接,取左邊的表的全部,右邊的表按條件,符合的顯示,不符合則顯示null

            舉例:lect <lect list> from A left join B on A.id=B.id

            右連接:取右邊的表的全部,左邊的表按條件,符合的顯示,不符合則顯示null

            舉例:lect <lect list> from A right join B on A.id=B.id

            內(nèi)連接(inner join)

            內(nèi)連接:也稱為等值連接,返回兩張表都滿足條件的部分

            注釋:inner join 就等于 join

            需要C/C++ Linux服務(wù)器架構(gòu)師學(xué)習(xí)資料私信“資料”(資料包括C/C++,Linux,golang技術(shù),Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒體,CDN,P2P,K8S,Docker,TCP/IP,協(xié)程,DPDK,ffmpeg等),免費分享

            交叉連接(CROSS JOIN)

            交叉連接:返回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯(lián)接也稱作笛卡爾積

            首先,先簡單解釋一下笛卡爾積:笛卡爾乘積是指在數(shù)學(xué)中,兩個集合X和Y的笛卡尓積(Cartesian product),又稱直積,表示為X × Y,第一個對象是X的成員而第二個對象是Y的所有可能有序?qū)Φ钠渲幸粋€成員

            舉例:

            現(xiàn)在,我們有兩個集合A和B。

            A = {0,1} B = {2,3,4}

            集合 A×B 和 B×A的結(jié)果集就可以分別表示為以下這種形式:

            A×B = {(0,2),(1,2),(0,3),(1,3),(0,4),(1,4)};

            B×A = {(2,0),(2,1),(3,0),(3,1),(4,0),(4,1)};

            以上A×B和B×A的結(jié)果就可以叫做兩個集合相乘的‘笛卡爾積’。

            從以上的數(shù)據(jù)分析我們可以得出以下兩點結(jié)論:

            1,兩個集合相乘,不滿足交換率,既 A×B ≠ B×A;

            2,A集合和B集合相乘,包含了集合A中元素和集合B中元素相結(jié)合的所有的可能性。既兩個集合相乘得到的新集合的元素個數(shù)是 A集合的元素個數(shù) × B集合的元素個數(shù);

            交叉連接有兩種,顯式的和隱式的,不帶ON子句,返回的是兩表的乘積,也叫笛卡爾積。例如:下面的語句1和語句2的結(jié)果是相同的。

            語句1:隱式的交叉連接,沒有CROSS JOIN。SELECT O.ID, O.ORDER_NUMBER, C.ID, C.NAMEFROM ORDERS O , CUSTOMERS CWHERE O.ID=1;

            語句2:顯式的交叉連接,使用CROSS JOIN。SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAMEFROM ORDERS O CROSS JOIN CUSTOMERS CWHERE O.ID=1;

            內(nèi)連接和where的區(qū)別:

            數(shù)據(jù)庫表連接數(shù)據(jù)行匹配時所遵循的算法就是以上提到的笛卡爾積,表與表之間的連接可以看成是在做乘法運算。

            比如現(xiàn)在數(shù)據(jù)庫中有兩張表,student表和 student_subject表,如下所示:

            我們執(zhí)行以下的sql語句,只是純粹的進(jìn)行表連接。

            SELECT * from student JOIN student_subject;SELECT * from student_subject JOIN student;

            看一下執(zhí)行結(jié)果:

            表1.0 

            表1.1

                                         從執(zhí)行結(jié)果上來看,結(jié)果符合我們以上提出的兩點結(jié)論(紅線標(biāo)注部分);

            以第一條sql語句為例我們來看一下他的執(zhí)行流程,

            1,from語句把student表 和 student_subject表從數(shù)據(jù)庫文件加載到內(nèi)存中。

            2,join語句相當(dāng)于對兩張表做了乘法運算,把student表中的每一行記錄按照順序和student_subject表中記錄依次匹配。

            3,匹配完成后,我們得到了一張有 (student中記錄數(shù) × student_subject表中記錄數(shù))條的臨時表。 在內(nèi)存中形成的臨時表如表1.0所示。我們又把內(nèi)存中表1.0所示的表稱為‘笛卡爾積表’。  

            再看一下sql中主要關(guān)鍵字的執(zhí)行順序:

            from on join where group by having lect distinct union order by

            我們看到on是在join和where前面的

            如果兩張表的數(shù)據(jù)量都比較大的話,那樣就會占用很大的內(nèi)存空間這顯然是不合理的。所以,我們在進(jìn)行表連接查詢的時候一般都會使用JOIN xxx ON xxx的語法,ON語句的執(zhí)行是在JOIN語句之前的,也就是說兩張表數(shù)據(jù)行之間進(jìn)行匹配的時候,會先判斷數(shù)據(jù)行是否符合ON語句后面的條件,再決定是否JOIN。

              因此,有一個顯而易見的SQL優(yōu)化的方案是,當(dāng)兩張表的數(shù)據(jù)量比較大,又需要連接查詢時,應(yīng)該使用 FROM table1 JOIN table2 ON xxx的語法,避免使用 FROM table1,table2 WHERE xxx 的語法,因為后者會在內(nèi)存中先生成一張數(shù)據(jù)量比較大的笛卡爾積表,增加了內(nèi)存的開銷。

            全連接(Full join)

            全外連接是在結(jié)果中除了顯示滿足連接的條件的行外,還顯示了join兩側(cè)表中所有滿足檢索條件的行

            本文發(fā)布于:2023-02-28 21:06:00,感謝您對本站的認(rèn)可!

            本文鏈接:http://m.newhan.cn/zhishi/a/1677725174103197.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。

            本文word下載地址:leftouterjoin(leftouterjoin和innerjoin).doc

            本文 PDF 下載地址:leftouterjoin(leftouterjoin和innerjoin).pdf

            標(biāo)簽:leftouterjoin   innerjoin
            相關(guān)文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網(wǎng)旗下知識大全大全欄目是一個全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 日韩不卡一区二区在线观看| 国内精品一区二区不卡| 精品无码久久久久久尤物| 精品欧美一区二区三区久久久| 精品无码老熟妇magnet| julia无码中文字幕一区| 亚洲av天码一区二区| 欧美中文字幕在线看| 欧美日本国产va高清cabal| AV无码不卡一区二区三区| 亚洲一区二区三区水蜜桃| 免费看a毛片| 夜色福利站www国产在线视频| 国产成人午夜精品影院| 日韩精品一区二区蜜臀av| 成人3D动漫一区二区三区| 猫咪AV成人永久网站在线观看| 亚洲成人午夜排名成人午夜| ww污污污网站在线看com| 99热成人精品热久久66 | 久久这里都是精品一区| 看亚洲黄色不在线网占| 91亚洲国产成人久久精品| 成人av亚洲男人色丁香| 少妇人妻偷人免费观看| 亚洲午夜成人精品电影在线观看| 日韩中文字幕国产精品| 日韩在线视频线观看一区| 日韩精品一区二区三区在线观看的| 日本一区二区三区在线 |观看 | 熟妇激情一区二区三区| 精品久久人人做爽综合| 日韩成人无码v清免费| 国产国产午夜福利视频| 少妇性bbb搡bbb爽爽爽欧美| 澳门永久av免费网站| 亚洲精品一区二区动漫| 91中文字幕在线一区| 精品欧美一区二区在线观看| 精产国品一二三区别9999| 久久人人爽爽人人爽人人片av|