您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關MySQL查詢條件中on和where的區別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
MySQL 語句執行順序
首先先說明一個概念,MySQL 語句執行的順序,并不是按照 SQL 語句的順序。下面是示例 SQL
SELECT DISTINCT < select_list > FROM < left_table > < join_type > JOIN < right_table > ON < join_condition > WHERE < where_condition > GROUP BY < group_by_list > HAVING < having_condition > ORDER BY < order_by_condition > LIMIT < limit_number >
下面是 SQL 的執行順序
FROM <left_table> ON <join_condition> <join_type> JOIN <right_table> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition> SELECT DISTINCT <select_list> ORDER BY <order_by_condition> LIMIT <limit_number>
LEFT JOIN 的作用
結果集的不同,不僅與 SQL 的優先級有關,還和 LEFT JOIN 有關
使用left join時on后面的條件只對右表有效
on是在生成臨時表的時候使用的條件,不管on的條件是否起到作用,都會返回左表 (table_name1) 的行。
where則是在生成臨時表之后使用的條件,此時已經不管是否使用了left join了,只要條件不為真的行,全部過濾掉。
看完上述內容,你們對MySQL查詢條件中on和where的區別是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。