J'ai deux tables A et B.
id | name | num
id | date | roll
id dans la table B est une clé étrangère qui se rapporte à l'id dans la table A.
Je veux obtenir le contenu du tableau B où id est donné et aussi avec ces données, j'ai besoin du nom dont l'id est donné dans le tableau A.
J'ai fait une recherche sur Google et j'ai découvert des mots clés étranges à gauche, JOIN mais je ne pouvais pas le comprendre.
J'ai besoin d'obtenir la date et le rouleau du tableau B et le nom du tableau A dans une seule requête. (id est une clé étrangère)
Le plugin que j'utilise malheureusement ne permet pas plusieurs requêtes séparées par des virgules, je dois donc faire les deux SELECT
s dans une seule requête.
La jointure des tables est un principe fondamental des bases de données relationnelles. Dans votre cas, A et B sont liés à la colonne id
, ce qui signifie que vous pouvez utiliser une syntaxe similaire à celle-ci:
SELECT a.id, a.name, a.num, b.date, b.roll
FROM a
INNER JOIN b ON a.id=b.id;
INNER JOIN
signifie que vous ne verrez que les lignes où il y a des enregistrements correspondants dans A et B. Si vous voulez toutes les lignes dans A et les enregistrements correspondants dans B, vous pouvez modifier INNER JOIN
à LEFT JOIN
. Inversement, si vous voulez tous les enregistrements de B et seulement ceux correspondants de A, utilisez RIGHT JOIN
. Enfin, si vous avez besoin de tout, des deux tables, correspondant ou non, vous pouvez utiliser FULL JOIN
.
Vous devez joindre ces tables pour obtenir le résultat souhaité.
SELECT b.*, a.name FROM tableB AS b INNER JOIN tableA as A ON (b.id=a.id);
Cette requête renverra tout du tableau B et name
du tableau A où l'ID du tableau B est le même que l'ID du tableau A.
Pour obtenir le résultat des deux tables associées à la clé étrangère, vous devez joindre les tables.
Trouvez ci-dessous la requête comme vous le souhaitez:
SELECT name, date, roll
FROM A
INNER JOIN B
ON A.id = B.id;
Pour récupérer les données des deux tables associées à une clé étrangère, c'est-à-dire (colonne commune), vous devez joindre les deux tables.
si vous faites correspondre les données des deux tables, utilisez INNER JOIN.
> SELECT A.List_Of_columns,B.List_Of_columns FROM Table1 AS A INNER
> JOIN Table2 as B ON A.ID=B.ID (Here Id is Common in both table).
Si vous souhaitez faire correspondre les données des deux tables avec tous les enregistrements de la table 1, utilisez la jointure gauche au lieu de la jointure intérieure. si vous voulez que tous les enregistrements de table2 utilisent la jointure droite.