最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql中的join和where優(yōu)先級(jí)順序解讀

 更新時(shí)間:2023年03月20日 10:50:30   作者:所謂永恒  
這篇文章主要介紹了mysql中的join和where優(yōu)先級(jí)順序解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql 的 join 和 where 優(yōu)先級(jí)

定義

join功能

  • inner join(內(nèi)連接,或等值連接) : 獲取兩個(gè)表中字段匹配關(guān)系的記錄。
  • left join (左連接) : 獲取左表所有記錄,即使右表沒(méi)有對(duì)應(yīng)匹配的記錄。
  • right join (右連接) : 與 LEFT JOIN 相反,用于獲取右表所有記錄,即使左表沒(méi)有對(duì)應(yīng)匹配的記錄。

where

where 是 mysql 語(yǔ)句的查詢條件

測(cè)試數(shù)據(jù)表

  • 表 a1
xy
110
220
330
  • 表 a2
xy
10100
20200
20300
create table if not exists `a1`(
    `x` int(10),
    `y` int(10)
);

create table if not exists `a2`(
    `y` int(10),
    `z` int(10)
)

查詢 sql 及結(jié)果

正常左連接

select * from a1 left join a2 on a1.y = a2.y;
xyyz
11010100
22020200
22020300
330NULLNULL

左連情況下, 由于左邊a1.y = 30在右表無(wú)數(shù)據(jù)所以右表數(shù)據(jù) (y,z)為 NULL

左連 on && and

select * from a1 left join a2 on a1.y = a2.y and a2.y = 10;
xyyz
11010100
220NULLNULL
330NULLNULL

由于是左連, 所以判斷 (a1.y = a2.y && a2.y = 10) 只能篩選出(10, 100)與左邊匹配, 所以后面均為 NULL.

即實(shí)際優(yōu)先級(jí)是

select * from (a1 left join a2 on a1.y = a2.y and a2.y = 10)

左連 on && where

select * from a1 left join a2 on a1.y = a2.y where a2.y = 10;
xyyz
11010100

只有一條數(shù)據(jù), 因此可判斷其優(yōu)先級(jí)為

select * from (a1 left join a2 on a1.y = a2.y) where a2.y = 10???????

也就是說(shuō) 會(huì)先左連生成臨時(shí)表, 然后再在整體表上進(jìn)行 where 查詢.

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL ifnull()函數(shù)的具體使用

    MySQL ifnull()函數(shù)的具體使用

    本文主要介紹了MySQL ifnull()函數(shù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 101個(gè)MySQL的配置和優(yōu)化的提示

    101個(gè)MySQL的配置和優(yōu)化的提示

    這里是101條調(diào)節(jié)和優(yōu)化 MySQL安裝的技巧。一些技巧是針對(duì)特定的安裝環(huán)境的,但這些思路是通用的。我已經(jīng)把他們分成幾類,來(lái)幫助你掌握更多MySQL的調(diào)節(jié)和優(yōu)化技巧
    2013-08-08
  • MySql中使用正則表達(dá)式查詢的方法

    MySql中使用正則表達(dá)式查詢的方法

    Mysql 使用 REGEXP 關(guān)鍵字指定正則表達(dá)式的字符匹配模式。接下來(lái)通過(guò)本文給大家分享MySql中使用正則表達(dá)式查詢的方法,感興趣的朋友一起看看吧
    2017-07-07
  • mysql 按中文字段排序

    mysql 按中文字段排序

    在MySQL中,進(jìn)行中文排序和查找的時(shí)候,對(duì)漢字的排序和查找結(jié)果是錯(cuò)誤的。 這種情況在MySQL的很多版本中都存在。
    2009-01-01
  • MySQL主從復(fù)制延遲原因以及解決方案

    MySQL主從復(fù)制延遲原因以及解決方案

    這篇文章主要介紹了MySQL主從復(fù)制延遲原因以及解決方案,幫助大家更好的理解和使用數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • MySQL存儲(chǔ)過(guò)程相互調(diào)用并獲得錯(cuò)誤碼示例

    MySQL存儲(chǔ)過(guò)程相互調(diào)用并獲得錯(cuò)誤碼示例

    這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程相互調(diào)用并獲得錯(cuò)誤碼,需要的朋友可以參考下
    2014-03-03
  • SQL如何使用正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行過(guò)濾

    SQL如何使用正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行過(guò)濾

    正則表達(dá)式的作用是匹配文本,將一個(gè)正則表達(dá)式與一個(gè)文本串進(jìn)行比較,下面這篇文章主要給大家介紹了關(guān)于SQL如何使用正則表達(dá)式對(duì)數(shù)據(jù)進(jìn)行過(guò)濾的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • MySQL向表中添加列方法實(shí)例

    MySQL向表中添加列方法實(shí)例

    要在MySQL的表中添加列,我們可以將ALTER命令與add column命令一起使用,下面這篇文章主要給大家介紹了關(guān)于MySQL向表中添加列的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • MySQL中組合字段之concat()

    MySQL中組合字段之concat()

    這篇文章主要介紹了MySQL中組合字段之concat(),MySQL是關(guān)系型數(shù)據(jù)庫(kù),我們?cè)谑褂玫臅r(shí)候往往會(huì)將對(duì)象的屬性映射成列存儲(chǔ)在表中,因此查詢的到的結(jié)果在不做任何處理的情況下,也是一個(gè)個(gè)單獨(dú)的屬性,需要的朋友可以參考一下
    2021-11-11
  • mysql如何配置secure_file_priv

    mysql如何配置secure_file_priv

    這篇文章主要介紹了mysql如何配置secure_file_priv問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論

原平市| 彩票| 保定市| 福海县| 绿春县| 阿拉善右旗| 周宁县| 桑日县| 佛教| 神农架林区| 庆元县| 洛川县| 敦煌市| 汨罗市| 寻乌县| 富民县| 永平县| 霞浦县| 淄博市| 南汇区| 鄂州市| 本溪| 图们市| 乌苏市| 仙居县| 康定县| 亚东县| 邓州市| 承德市| 虞城县| 正阳县| 景宁| 墨竹工卡县| 和林格尔县| 蒙山县| 安图县| 平凉市| 高唐县| 冀州市| 宣威市| 莫力|