SQL| JOIN(Inner, Left, Right and Full Joins)
Dans cet article, nous allons discuter des deux JOINTURES restantes:
- CARTESIAN JOIN
- SELF JOIN
Considérez les deux tableaux ci-dessous:
StudentCourse
- JOINTURE CARTÉSIENNE: La JOINTURE CARTÉSIENNE est également connue sous le nom de JOINTURE CROISÉE. Dans une JOINTURE CARTÉSIENNE, il existe une jointure pour chaque ligne d’une table à chaque ligne d’une autre table., Cela se produit généralement lorsque la colonne correspondante ou la condition WHERE n’est pas spécifiée.
- En l’absence de condition WHERE, la JOINTURE CARTÉSIENNE se comportera comme un PRODUIT CARTÉSIEN . c’est à dire, le nombre de lignes dans le jeu de résultats est le produit du nombre de lignes des deux tables.
- En présence de la condition WHERE, cette JOINTURE fonctionnera comme une JOINTURE INTERNE.,
- De manière générale, la jointure croisée est similaire à une jointure interne où la condition de jointure sera toujours évaluée à True
Syntaxe:
SELECT table1.column1 , table1.column2, table2.column1...FROM table1CROSS JOIN table2;table1: First table.table2: Second table
Exemples de requêtes(JOINTURE CARTÉSIENNE):
- Dans la requête ci-dessous, nous sélectionnerons le NOM et l’âge de la table Table de cours d’étudiant. Dans la sortie, vous pouvez voir que chaque ligne de la table Étudiant est associé à chaque ligne de la table StudentCourse. Le total des lignes dans le jeu de résultats = 4 * 4 = 16.,
SELECT Student.NAME, Student.AGE, StudentCourse.COURSE_IDFROM StudentCROSS JOIN StudentCourse;
Résultat:
- AUTO-JOINTURE: Comme son nom l’indique, dans l’AUTO de REJOINDRE une table est joint à lui-même. Autrement dit, chaque ligne de la table est jointe à elle-même et à toutes les autres lignes en fonction de certaines conditions. En d’autres termes, nous pouvons dire que c’est une jointure entre deux copies de la même table.,Syntaxe:
SELECT a.coulmn1 , b.column2FROM table_name a, table_name bWHERE some_condition;table_name: Name of the table.some_condition: Condition for selecting the rows.
Exemple de Requêtes(AUTO-JOINTURE):
SELECT a.ROLL_NO , b.NAMEFROM Student a, Student bWHERE a.ROLL_NO < b.ROLL_NO;
Résultat:
Cet article est contribué par de Rudes Agarwal. Si vous aimez GeeksforGeeks et souhaitez contribuer, vous pouvez également écrire un article en utilisant contribute.geeksforgeeks.org ou envoyez votre article à [email protected]. Voir votre article apparaissant sur la page principale GeeksforGeeks et aider les autres Geeks.