文章詳情頁
mysql兩種多表查詢的區(qū)別?
瀏覽:108日期: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得到結果是一樣的。
在實際開發(fā)中第二種SQL 可以這樣寫嗎? 相對于SQL1 ,SQL2的效率是不是低?
問題解答
回答1:SQL1,B表只掃描一遍SQL2,A表有多少條記錄,B表就被掃描多少遍當你數(shù)據(jù)庫的數(shù)據(jù)量足夠到,SQL2直接出不來結果,會把數(shù)據(jù)庫搞死
相關文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現(xiàn)存在即更新應該使用哪個標簽?2. 哭遼 求大佬解答 控制器的join方法怎么轉模型方法3. mysql儲存json錯誤4. mysql - 怎么生成這個sql表?5. mysql - 數(shù)據(jù)庫表中,兩個表互為外鍵參考如何解決6. Navicat for mysql 中以json格式儲存的數(shù)據(jù)存在大量反斜杠,如何去除?7. sql語句 - 如何在mysql中批量添加用戶?8. mysql - 表名稱前綴到底有啥用?9. 編輯成功不顯示彈窗10. 怎么php怎么通過數(shù)組顯示sql查詢結果呢,查詢結果有多條,如圖。
排行榜

熱門標簽