欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL查詢條件中放置on和where的區(qū)別分析

 更新時(shí)間:2019年01月25日 10:45:28   作者:haoyq  
這篇文章主要給大家介紹了關(guān)于MySQL查詢條件中放置on和where的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

導(dǎo)語(yǔ)

今天在寫(xiě) SQL 的時(shí)候,遇到一個(gè)問(wèn)題。需求是這樣的,查詢數(shù)據(jù),按照評(píng)分倒序、近一周訪問(wèn)量倒序,這樣進(jìn)行排序。問(wèn)題是常規(guī)的寫(xiě)法,將 day >= xxx 條件放到 where 中, 如果某些數(shù)據(jù)近一周沒(méi)有訪問(wèn)量,那么這條數(shù)據(jù)就查不出來(lái)。解決辦法呢,就是將條件放到 LEFT JOIN 中。

MySQL 語(yǔ)句執(zhí)行順序

首先先說(shuō)明一個(gè)概念,MySQL 語(yǔ)句執(zhí)行的順序,并不是按照 SQL 語(yǔ)句的順序。下面是示例 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 的執(zhí)行順序

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 的作用

結(jié)果集的不同,不僅與 SQL 的優(yōu)先級(jí)有關(guān),還和 LEFT JOIN 有關(guān)

使用left join時(shí)on后面的條件只對(duì)右表有效

  • on是在生成臨時(shí)表的時(shí)候使用的條件,不管on的條件是否起到作用,都會(huì)返回左表 (table_name1) 的行。
  • where則是在生成臨時(shí)表之后使用的條件,此時(shí)已經(jīng)不管是否使用了left join了,只要條件不為真的行,全部過(guò)濾掉。

以上是從兩篇資料中摘抄的,可以很好的概括(原文鏈接在下方,其中都有示例)。

參考資料:

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • SQL語(yǔ)句單引號(hào)與雙引號(hào)的使用方法

    SQL語(yǔ)句單引號(hào)與雙引號(hào)的使用方法

    這篇文章主要介紹了SQL語(yǔ)句中單引號(hào)、雙引號(hào)的使用方法,分別講述,雖然說(shuō)的是Insert語(yǔ)句,?但是Select、Update、Delete語(yǔ)句都是一樣的,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • 淺析Mysql 中如何導(dǎo)出數(shù)據(jù)

    淺析Mysql 中如何導(dǎo)出數(shù)據(jù)

    MySQL中你可以使用SELECT…INTO OUTFILE語(yǔ)句來(lái)簡(jiǎn)單的導(dǎo)出數(shù)據(jù)到文本文件上,這篇文章給大家介紹了Mysql 中如何導(dǎo)出數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • MySQL連接控制插件介紹

    MySQL連接控制插件介紹

    當(dāng)連接數(shù)據(jù)庫(kù)失敗次數(shù)過(guò)多時(shí),MySQL 是否會(huì)限制登錄呢?數(shù)據(jù)庫(kù)服務(wù)端應(yīng)該怎么應(yīng)對(duì)暴力破解呢?本篇文章介紹下 MySQL 中的連接控制插件,一起來(lái)學(xué)習(xí)下此插件的作用,需要的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • MySQL數(shù)據(jù)庫(kù)終端—常用操作指令代碼

    MySQL數(shù)據(jù)庫(kù)終端—常用操作指令代碼

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)終端—常用操作指令代碼,添加用戶、更改用戶名和host主機(jī)、更改密碼、刪除用戶等等,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-01-01
  • Mysql查詢語(yǔ)句優(yōu)化技巧

    Mysql查詢語(yǔ)句優(yōu)化技巧

    這篇文章主要介紹了Mysql查詢語(yǔ)句優(yōu)化技巧的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • MySQL無(wú)法啟動(dòng)幾種常見(jiàn)問(wèn)題小結(jié)

    MySQL無(wú)法啟動(dòng)幾種常見(jiàn)問(wèn)題小結(jié)

    在群里看到有新同學(xué)還在問(wèn)MySQL無(wú)法啟動(dòng)的問(wèn)題,于是總結(jié)了幾個(gè)常見(jiàn)情況與解決方法,需要的朋友可以參考下
    2013-09-09
  • mysql如何存儲(chǔ)地理信息

    mysql如何存儲(chǔ)地理信息

    MySQL存儲(chǔ)地理信息通常使用GEOMETRY數(shù)據(jù)類型或其子類型,為了支持這些數(shù)據(jù)類型,MySQL 提供了?SPATIAL?索引,這允許我們執(zhí)行高效的地理空間查詢,這篇文章主要介紹了mysql如何存儲(chǔ)地理信息,需要的朋友可以參考下
    2024-05-05
  • Mysql子查詢關(guān)鍵字的使用方式(exists)

    Mysql子查詢關(guān)鍵字的使用方式(exists)

    這篇文章主要介紹了Mysql子查詢關(guān)鍵字的使用方式(exists),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • mysql數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)點(diǎn)與操作小結(jié)

    mysql數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)點(diǎn)與操作小結(jié)

    這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)點(diǎn)與操作,總結(jié)分析了mysql數(shù)據(jù)庫(kù)修改數(shù)據(jù)表、增刪改查及數(shù)據(jù)庫(kù)函數(shù)基本功能,需要的朋友可以參考下
    2020-01-01
  • MySQL中JSON_ARRAYAGG和JSON_OBJECT函數(shù)功能和用法

    MySQL中JSON_ARRAYAGG和JSON_OBJECT函數(shù)功能和用法

    JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,它可以用來(lái)存儲(chǔ)和表示結(jié)構(gòu)化的數(shù)據(jù),在MySQL數(shù)據(jù)庫(kù)中,JSON格式的數(shù)據(jù)處理已經(jīng)變得越來(lái)越常見(jiàn),本文將深入探討這兩個(gè)函數(shù)的用途、語(yǔ)法和示例,以幫助您更好地理解它們的功能和用法,需要的朋友可以參考下
    2023-09-09

最新評(píng)論