搜尋

首頁  >  問答  >  主體

mysql兩種多表查詢的差別?

SQL 1:

SELECT
    a.*,
    b.name
FROM
    t_coach a
LEFT 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得到結果是一樣的。

在實際開發中第二種SQL 可以這樣寫嗎?
相對於SQL1 ,SQL2的效率是不是低?

为情所困为情所困2747 天前584

全部回覆(1)我來回復

  • phpcn_u1582

    phpcn_u15822017-05-18 10:46:43

    SQL1,B表只掃描一遍
    SQL2,A表有多少筆記錄,B表就被掃描多少遍
    當你資料庫的資料量夠到,SQL2直接出不來結果,會把資料庫搞死

    回覆
    0
  • 取消回覆