Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :répartition rapide des types de jointures

Sur la base de votre commentaire, il est préférable de trouver des définitions simples de chacun sur W3Schools La première ligne de chaque type donne une brève explication du type de jointure

  • JOIN :Renvoie des lignes lorsqu'il y a au moins une correspondance dans les deux tables
  • LEFT JOIN :Renvoie toutes les lignes de la table de gauche, même s'il n'y a pas de correspondance dans la table de droite
  • RIGHT JOIN :Renvoie toutes les lignes de la table de droite, même s'il n'y a pas de correspondance dans la table de gauche
  • FULL JOIN :Renvoie des lignes lorsqu'il y a une correspondance dans l'une des tables

FIN DE LA MODIFICATION

En un mot, l'exemple séparé par des virgules que vous avez donné de

SELECT * FROM a, b WHERE b.id = a.beeId AND ...

sélectionne chaque enregistrement des tables a et b avec les virgules séparant les tables, cela peut également être utilisé dans des colonnes comme

SELECT a.beeName,b.* FROM a, b WHERE b.id = a.beeId AND ...

Il obtient ensuite les informations demandées dans la ligne où la colonne b.id et la colonne a.beeId ont une correspondance dans votre exemple. Ainsi, dans votre exemple, il obtiendra toutes les informations des tables a et b où le b.id est égal à a. beeId.Dans mon exemple, il obtiendra toutes les informations de la table b et uniquement les informations de la colonne a.beeName lorsque le b.id est égal à a.beeId.Notez qu'il existe également une clause AND, cela aidera à affiner vos résultats.

Pour des tutoriels simples et des explications sur les jointures mySQL et les jointures gauches, consultez les tutoriels mySQL de Tizag. Vous pouvez également consulter le site Web de Keith J. Brown pour plus d'informations sur les jointures c'est assez bien aussi.

J'espère que cela vous aidera