国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

mysql 查詢?cè)谝粡埍聿辉诹硗庖粡埍淼挠涗?/h1>

這篇具有很好參考價(jià)值的文章主要介紹了mysql 查詢?cè)谝粡埍聿辉诹硗庖粡埍淼挠涗洝OM麑?duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

SQL Join子句,主要用在select語句中,把兩個(gè)或多個(gè)表的行結(jié)合起來,基于這些表之間的共同字段(往往是id字段)來查詢,從多個(gè)表中返回滿足條件的所有行。

常見join子句類型

常見join子句類型有INNER JOIN(同JOIN)、LEFT JOIN、RIGHT JOIN、FULL JOIN,其中第一種為內(nèi)連接,后三種為外連接。

不同的join子句類型區(qū)別如下圖所示:
  mysql 查詢?cè)谝粡埍聿辉诹硗庖粡埍淼挠涗? referrerpolicy=
介紹其中4種:
1、方法一(僅適用單個(gè)字段):使用 not in ,比較容易理解,缺點(diǎn)是效率低
如:select A.ID from A where A.ID not in (select ID from B);
2、方法二(適用多個(gè)字段匹配):使用 left join…on… , “B.ID isnull” 表示左連接之后在B.ID 字段為 null的記錄。
如:select A.ID from A left join B on A.ID=B.ID where B.ID is null ;
3、方法三(適用多個(gè)字段匹配)
如:select * from B where (select count(1) as num from A where A.ID = B.ID) = 0;
4、方法四(適用多個(gè)字段匹配)
如:select * from A where not exists(select 1 from B where A.ID=B.ID)
總結(jié):
方法一:第一種not in 場(chǎng)景使用子查詢數(shù)據(jù)量小的情況。因?yàn)槲易硬樵冎挥?0w的數(shù)據(jù)。但是總表有100w。所以我使用not in的話我使用的是外表的索引所以數(shù)據(jù)較快。弊端。子查詢里面不能存在null字段。如果有,那么你數(shù)據(jù)就會(huì)準(zhǔn)。這種方式的實(shí)際情況其實(shí)是和字表做hash連接。
方法二:左連接:left join 或 left outer join
(1)左向外聯(lián)接的結(jié)果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯(lián)接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關(guān)聯(lián)的結(jié)果集行中右表的所有選擇列表列均為空值(null)。兩表進(jìn)行關(guān)聯(lián)。數(shù)據(jù)量為兩個(gè)表的笛卡爾積。返回左表的全部數(shù)據(jù)。右邊不滿足條件的為null。如果左表數(shù)據(jù)大的話,這樣關(guān)聯(lián)數(shù)據(jù)也不小。所以速度這么慢,屬于正常。
方法四:第二種not in 場(chǎng)景使用子查詢數(shù)據(jù)量小的情況。因?yàn)槲易硬樵冎挥?0w的數(shù)據(jù)。但是總表有100w。所以我使用not exists的話我使用的是子表的索引。但是我外表數(shù)據(jù)太大。所以導(dǎo)致速度變慢。本質(zhì):對(duì)外表作loop循環(huán),每次loop循環(huán)再對(duì)內(nèi)表進(jìn)行查詢。

總結(jié):

如果右表是子表,也就是說右表有多條記錄匹配左表的話,那么展示的最終結(jié)果是多條記錄和左表匹配。如下圖展示
mysql 查詢?cè)谝粡埍聿辉诹硗庖粡埍淼挠涗? referrerpolicy=mysql 查詢?cè)谝粡埍聿辉诹硗庖粡埍淼挠涗? referrerpolicy=
mysql 查詢?cè)谝粡埍聿辉诹硗庖粡埍淼挠涗? referrerpolicy=

總結(jié):left join 其實(shí)也就是匹配左表的過程,on條件后不應(yīng)該加上左表的條件。

轉(zhuǎn):https://www.cnblogs.com/jelly12345/p/16828722.html文章來源地址http://www.zghlxwxcb.cn/news/detail-425879.html

到了這里,關(guān)于mysql 查詢?cè)谝粡埍聿辉诹硗庖粡埍淼挠涗浀奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SQL - 將查詢結(jié)果插入到另一張表中

    注意:字段必須一致(位置一致,類型一致),否則會(huì)出現(xiàn)數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤。 例如,要將 test 表插入到 newTest 表中,則可以通過如下SQL語句實(shí)現(xiàn): 使用場(chǎng)景: 從一個(gè)表中選取數(shù)據(jù),然后把數(shù)據(jù)插入另一個(gè)表中。常用于創(chuàng)建表的備份復(fù)件或者用于對(duì)記錄進(jìn)行存檔。

    2024年02月16日
    瀏覽(19)
  • 數(shù)據(jù)庫將一張表中的數(shù)據(jù)更新到另一張表(Oracle、MySQL)

    ? ? ? ? 方式一(推薦) ? ? ? ? 方式二 ????????方式一比方式二效率快很多

    2024年02月07日
    瀏覽(58)
  • mysql一張表可以創(chuàng)建多少字段

    在mysql中,每個(gè)數(shù)據(jù)庫最多可創(chuàng)建20億個(gè)表,一個(gè)表允許定義1024列,每行的最大長度為8092字節(jié)(不包括文本和圖像類型的長度)。當(dāng)表中定義有varchar、nvarchar或varbinary類型列時(shí),如果向表中插入的數(shù)據(jù)行超過8092字節(jié)時(shí)將導(dǎo)致Transact-SQL語句失敗,并產(chǎn)生錯(cuò)誤信息。SQL對(duì)每個(gè)表中行

    2023年04月09日
    瀏覽(26)
  • oracle連表查詢in后邊跟另一張表中的字符串字段

    oracle連表查詢in后邊跟另一張表中的字符串字段

    今天在做通過in進(jìn)行連表查詢的時(shí)候發(fā)現(xiàn)以下問題記錄下 我的需求是A,B兩張表連接查詢,A中有一個(gè)FOOD_TYPES字段 存的值類型為1,2,3 B表中的字段是FOOD_TYPE 存的是單個(gè)數(shù)字字符串 我需要where b.food_type in a.food_types 但是無論怎么寫都無法實(shí)現(xiàn)這樣的查詢 最終使用了 b.food_type in

    2024年02月13日
    瀏覽(31)
  • 【mysql】給一張表添加外鍵的四種方法

    添加外鍵約束名字一定不能重復(fù) 如何添加外鍵 方法一:直接在屬性值后面添加 方法二: 方法三:添加約束 方法四:在表的定義外進(jìn)行添加 1.創(chuàng)建表的時(shí)候直接在表字段后,跟primary key。(一張表有且只能有一個(gè)主鍵,主鍵具有唯一性。) 2.在創(chuàng)建表的時(shí)候在所有字段

    2024年02月11日
    瀏覽(27)
  • 使用finksql方式將mysql數(shù)據(jù)同步到kafka中,每次只能同步一張表

    使用finksql方式將mysql數(shù)據(jù)同步到kafka中,每次只能同步一張表

    2024年02月11日
    瀏覽(23)
  • sqlserver數(shù)據(jù)庫中把一張表中的數(shù)據(jù)復(fù)制到另一張表中

    我們?cè)谑褂肊RP時(shí)經(jīng)常會(huì)遇到,把老系統(tǒng)的單據(jù)直接拉過來使用,但是對(duì)應(yīng)的數(shù)據(jù)卻沒有,為空,這時(shí)候就需要把老系統(tǒng)數(shù)據(jù)庫里的數(shù)據(jù)復(fù)制一份到新系統(tǒng)里,(方法如下) 1、如果是整個(gè)表復(fù)制表達(dá)如下: 2、如果是有選擇性的復(fù)制數(shù)據(jù)表達(dá)如下: 3、一個(gè)數(shù)據(jù)庫中的表中的數(shù)

    2024年02月12日
    瀏覽(31)
  • 實(shí)現(xiàn)在一張圖片中尋找另一張圖片的目標(biāo)

    實(shí)現(xiàn)在一張圖片中尋找另一張圖片的目標(biāo)

    OpenCV庫中的SIFT特征檢測(cè)算法和FLANN(快速最近鄰搜索庫)匹配算法來找到一個(gè)圖片中的元素在另一個(gè)圖片中的位置,并在源圖片中標(biāo)出它們的位置。 以下是一個(gè)簡單的例子,使用OpenCV庫,利用SIFT特征檢測(cè)算法,在一張圖片中找到另外一張圖片中的目標(biāo),這其中目標(biāo)圖片中的

    2024年02月09日
    瀏覽(19)
  • 一張表實(shí)現(xiàn)短視頻“評(píng)論區(qū)“完整功能

    一張表實(shí)現(xiàn)短視頻“評(píng)論區(qū)“完整功能

    前言 ? ? ? ? 現(xiàn)如今,不管是哪種類型的應(yīng)用,評(píng)論區(qū)都少不了。從工具類的到媒體信息流類的,評(píng)論留言都是最基本的互動(dòng)環(huán)節(jié)。比如抖音短視頻下,針對(duì)視頻每個(gè)用戶都可以發(fā)表自己的觀點(diǎn);而針對(duì)用戶的評(píng)論,其他的用戶又可以對(duì)其進(jìn)行評(píng)論,依次回復(fù)下去。 ? ? ?

    2024年02月16日
    瀏覽(17)
  • OpenCV在一張圖片上以不同的透明度添加另一張圖片

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包