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 und SQL2 erhalten das gleiche Ergebnis.
Kann das zweite SQL in der tatsächlichen Entwicklung so geschrieben werden?
Ist SQL2 im Vergleich zu SQL1 weniger effizient?
SQL1,B表只扫描一遍
SQL2,A表有多少条记录,B表就被扫描多少遍
当你数据库的数据量足够到,SQL2直接出不来结果,会把数据库搞死