recherche

Maison  >  Questions et réponses  >  le corps du texte

Quelle est la différence entre deux types de requêtes multi-tables dans MySQL ?

SQL1 :

SELECT
    a.*,
    b.name
FROM
    t_coach a
LEFT JOIN t_school b on a.school_id=b.id

SQL2 :

SELECT a.*, (select b.name FROM t_school b WHERE b.id= a.school_id) AS name  FROM t_coach a

SQL1 et SQL2 obtiennent le même résultat.

Le deuxième SQL peut-il être écrit ainsi en développement réel ?
Par rapport à SQL1, SQL2 est-il moins efficace ?

为情所困为情所困2793 Il y a quelques jours607

répondre à tous(1)je répondrai

  • phpcn_u1582

    phpcn_u15822017-05-18 10:46:43

    SQL1, la table B n'est analysée qu'une seule fois
    SQL2, la table B sera analysée autant de fois qu'il y a d'enregistrements dans la table A
    Lorsque la quantité de données dans votre base de données est suffisante, SQL2 ne pourra pas produire de résultats directement, et va tuer la base de données

    répondre
    0
  • Annulerrépondre