suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Was ist der Unterschied zwischen zwei Arten von Mehrtabellenabfragen in 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 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?

为情所困为情所困2747 Tage vor590

Antworte allen(1)Ich werde antworten

  • phpcn_u1582

    phpcn_u15822017-05-18 10:46:43

    SQL1,B表只扫描一遍
    SQL2,A表有多少条记录,B表就被扫描多少遍
    当你数据库的数据量足够到,SQL2直接出不来结果,会把数据库搞死

    Antwort
    0
  • StornierenAntwort