国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

            千鋒教育

            掃一掃進入千鋒手機站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費學(xué)習(xí)課程

            當(dāng)前位置:首頁  >  技術(shù)干貨  > left join 涉及多個關(guān)聯(lián)條件時寫在on后面與where后面有什么區(qū)別?

            left join 涉及多個關(guān)聯(lián)條件時寫在on后面與where后面有什么區(qū)別?

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-10-13 07:16:13 1697152573

            一、left join 涉及多個關(guān)聯(lián)條件時寫在on后面與where后面的區(qū)別

            在 SQL 中,LEFT JOIN 連接操作是用來連接兩個或多個表的。當(dāng)涉及到多個關(guān)聯(lián)條件時,這些條件可以寫在 ON 后面,也可以寫在 WHERE 后面。但是它們的作用是不同的。

            如果多個關(guān)聯(lián)條件寫在 ON 后面,這些條件將被視為 LEFT JOIN 操作的一部分,并且將會影響到連接后的結(jié)果集。如果多個關(guān)聯(lián)條件寫在 WHERE 后面,這些條件將被視為對連接后的結(jié)果進行過濾。

            實例:

            表1(product):

            表2(product_details):

            查詢1:

            SELECT * FROM product LEFT JOIN product_details
            ON (product.id = product_details.id)
            AND product.amount=200;

            結(jié)果:

            把on的所有條件作為匹配條件,不符合的右表都為null。

            查詢2:

            SELECT * FROM product LEFT JOIN product_details
            ON (product.id = product_details.id)
            WHERE product.amount=200;

            結(jié)果:

            匹配完再篩選,結(jié)果只有一條記錄。

            二、SQL語言JOIN詳解

            SQL JOIN 子句用于把來自兩個或多個表的行結(jié)合起來,基于這些表之間的共同字段。

            不同的 SQL JOIN 類型:

            INNER JOIN:如果表中有至少一個匹配,則返回行LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行FULL JOIN:只要其中一個表中存在匹配,則返回行

            下圖展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相關(guān)的 7 種用法:

            1、SQL INNER JOIN

            語法:

            SELECT column_name(s)
            FROM table1
            INNER JOIN table2
            ON table1.column_name=table2.column_name;

            或者:

            SELECT column_name(s)
            FROM table1
            JOIN table2
            ON table1.column_name=table2.column_name;

            參數(shù)說明:

            columns:要顯示的列名。table1:表1的名稱。table2:表2的名稱。column_name:表中用于連接的列名。

            注釋:INNER JOIN 與 JOIN 是相同的。

            2、SQL LEFT JOIN

            語法:

            SELECT column_name(s)
            FROM table1
            LEFT JOIN table2
            ON table1.column_name=table2.column_name;

            或者:

            SELECT column_name(s)
            FROM table1
            LEFT OUTER JOIN table2
            ON table1.column_name=table2.column_name;

            注釋:在某些數(shù)據(jù)庫中,LEFT JOIN 稱為 LEFT OUTER JOIN。

            3、SQL RIGHT JOIN

            語法:

            SELECT column_name(s)
            FROM table1
            RIGHT JOIN table2
            ON table1.column_name=table2.column_name;

            或者:

            SELECT column_name(s)
            FROM table1
            RIGHT OUTER JOIN table2
            ON table1.column_name=table2.column_name;

            注釋:在某些數(shù)據(jù)庫中,RIGHT JOIN 稱為 RIGHT OUTER JOIN。

            4、SQL?FULL JOIN

            語法:

            SELECT column_name(s)
            FROM table1
            FULL OUTER JOIN table2
            ON table1.column_name=table2.column_name;

            延伸閱讀1:SQL是什么

            SQL 指結(jié)構(gòu)化查詢語言,全稱是 Structured Query Language。SQL 讓您可以訪問和處理數(shù)據(jù)庫,包括數(shù)據(jù)插入、查詢、更新和刪除。SQL 在1986年成為 ANSI(American National Standards Institute 美國國家標(biāo)準(zhǔn)化組織)的一項標(biāo)準(zhǔn),在 1987 年成為國際標(biāo)準(zhǔn)化組織(ISO)標(biāo)準(zhǔn)。

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            Kettle連接MySQL為什么會報錯?

            一、Kettle連接MySQL會報錯的原因1、驅(qū)動程序缺失Kettle需要使用MySQL的JDBC驅(qū)動程序來連接MySQL數(shù)據(jù)庫。如果沒有正確配置或提供JDBC驅(qū)動程序,...詳情>>

            2023-10-13 08:53:41
            wait()、sleep()、join()和yield()區(qū)別是什么?

            一、wait()wait()方法是Object類中的方法,主要用于線程間的同步和協(xié)作。當(dāng)一個線程調(diào)用某個對象的wait()方法時,它會釋放該對象的鎖,并進入等...詳情>>

            2023-10-13 08:45:29
            什么是Caché數(shù)據(jù)庫?

            一、對象訪問通過對象訪問,開發(fā)人員可以使用面向?qū)ο蟮木幊陶Z言(如Java、C#等)直接操作數(shù)據(jù)庫中的對象。這種方式提供了更加直觀和便捷的數(shù)據(jù)...詳情>>

            2023-10-13 08:42:01
            mysql group commit為什么要保證binlog和redo log提交的順序一致?

            一、為什么要保證binlog和redo log提交的順序一致MySQL為了保證master和slave的數(shù)據(jù)一致性,就必須保證binlog和InnoDB redo日志的一致性(因為...詳情>>

            2023-10-13 08:25:24
            synchronized鎖的升級原理是什么,以及各個鎖的狀態(tài)對比?

            一、synchronized鎖的基本原理synchronized是Java中用于實現(xiàn)線程安全的關(guān)鍵字,它可以應(yīng)用于方法或代碼塊。當(dāng)一個線程進入synchronized代碼塊時...詳情>>

            2023-10-13 08:14:11
            快速通道