Maison >base de données >navicat >Comment effectuer une requête multi-tables dans Navicat
Produit cartésien
Requête multi-tables, séparez les noms de tables par des virgules. De cette façon, toutes les données de plusieurs tableaux peuvent être trouvées. La façon de le savoir est la méthode du produit cartésien (combinaison complète)
La plupart des données découvertes de cette manière sont des données invalides. Vous pouvez ajouter des conditions aux requêtes multi-tables pour trouver les informations souhaitées.
Les jointures internes
peuvent filtrer les informations efficaces via les attributs associés entre les tables lors de la conception de la base de données.
Jointure interne explicite
SELECT * FROM employee AS e1,enterprise AS e2 WHERE e1.enterpriseId-e2.id;
Jointure interne implicite
SELECT * FROM employee e1 INNER JOIN enterprise e2 ON e1.enterpriseId=e2.id;
Il n'y a pas de différence essentielle entre la jointure interne implicite et la jointure interne explicite.
Recommandations associées : "Tutoriel graphique Navicat pour mysql"
Jointure externe
Basé sur une table, découvrez tout les données de cette table, puis associez-la à une autre table. Si elle est associée, ses informations seront affichées. S'il n'y a pas d'association, elles ne seront pas affichées comme nulles.
Jointure externe gauche
SELECT * FROM employee e1 LEFT JOIN enterprise e2 ON e1.enterpriseId=e2.id;
Jointure externe droite
SELECT * FROM employee e1 RIGHT JOIN enterprise e2 ON e1.enterpriseId=e2.id;
Un alias pour la table
Utiliser le tableau Il y a deux raisons pour les alias :
1. Pour plus de commodité et de simplicité.
2. Si vous effectuez une requête multi-tables à partir d'une table en double, vous devez utiliser un alias.
Il existe deux manières d'utiliser les alias :
1 Ajoutez un espace directement après le nom de la table, puis donnez-lui un nouveau nom.
SELECT * FROM employee e1,enterprise e2 WHERE e1.enterpriseId-e2.id;
2.as n'est pas différent de le nommer directement, mais il semble que les instructions SQL plus standardisées seront plus faciles à visualiser.
SELECT * FROM employee AS e1,enterprise AS e2 WHERE e1.enterpriseId-e2.id;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!