文章詳情頁
mysql兩種多表查詢的區(qū)別?
瀏覽:89日期:2022-06-13 13:01:22
問題描述
SQL 1:
SELECT a.*, b.nameFROM t_coach aLEFT JOIN t_school b on a.school_id=b.id
SQL 2:
SELECT a.*, (select b.name FROM t_school b WHERE b.id= a.school_id) AS name FROM t_coach a
SQL1和SQL2得到結(jié)果是一樣的。
在實(shí)際開發(fā)中第二種SQL 可以這樣寫嗎? 相對(duì)于SQL1 ,SQL2的效率是不是低?
問題解答
回答1:SQL1,B表只掃描一遍SQL2,A表有多少條記錄,B表就被掃描多少遍當(dāng)你數(shù)據(jù)庫的數(shù)據(jù)量足夠到,SQL2直接出不來結(jié)果,會(huì)把數(shù)據(jù)庫搞死
相關(guān)文章:
1. mysql - 這種分級(jí)一對(duì)多,且分級(jí)不平衡的模型該怎么設(shè)計(jì)表?2. python - 數(shù)據(jù)無法插入到mysql表里3. python - pip install出現(xiàn)下面圖中的報(bào)錯(cuò) 什么原因?4. PHP類屬性聲明?5. javascript - vue 2.0 :key的作用6. mysql scripts提示 /usr/bin/perl: bad interpreter7. atom開始輸入!然后按tab只有空格出現(xiàn)沒有html格式出現(xiàn)8. javascript - js setTimeout在雙重for循環(huán)中如何使用?9. javascript - Object.define 可以監(jiān)聽object變化,那基本類型變量如何監(jiān)聽10. java - 創(chuàng)建maven項(xiàng)目失敗了 求解決方法
排行榜

熱門標(biāo)簽