Deux petites tables sont incluses dans la base de données, nommée t1 et t2. Ces tableaux contiennent quelques rangées de démontrer joins.First, familiarisez-vous avec leurs données:
mysql> SELECT * FROM t1; + ---- + -------- + | id | lettre | + ---- + -------- + | 1 | A || 2 | B || 3 | C | + ---- + -------- + 3 rows in set (0.01 sec) mysql> SELECT * FROM t2; + ---- + -------- + | id | lettre | + ---- + -------- + | 1 | X || 2 | Y || 3 | Z | + ---- + -------- + 3 rows in set (0.00 sec)
Maintenant effectuer une jointure sur les deux tableaux, sans condition spécifiée
mysql> SELECT * -> FROM t1, t2; + ---- + ---- -------- + -------- + + | id | lettre | id | lettre | + ---- + ---- + ---- + --- + -------- | 1 | A | 1 | X || 2 | B | 1 | X || 3 | C | 1 | X || 1 | A | 2 | Y || 2 | B | 2 | Y || 3 | C | 2 | Y || 1 | A | 3 | Z || 2 | B | 3 | Z || 3 | C | 3 | Z | + ---- + ---- -------- + -------- + + 9 rows in set (0.00 sec)
Comme vous peut voir, chaque ligne de t1 est combiné avec chaque ligne de t2. Trois rangées de chaque table produisent une jointure, pour un total de neuf paires d'enregistrements. Ceci est connu comme un produit cartésien, et il est rarement le résultat que vous voulez à partir d'une requête.
SELECT *
Remarquez comment SELECT * notation dans la précédente par exemple causé chaque colonne à partir de deux tables à renvoyer. En conséquence, deux colonnes nommé id et deux lettres du nom ont été retournés.
Ces colonnes appartiennent aux tables dans l'ordre indiqué dans la clause FROM.
Le nombre total de lignes renvoyées est le produit du nombre de lignes dans chaque table. Vous pouvez imaginer la taille du jeu de données résultant peut se développer lorsque les tables individuelles contiennent un grand nombre de lignes elles-mêmes.
jointures croisées
Un produit cartésien est parfois connu comme une jointure croisée.
Ajout d'une condition où à ce joindre à charge MySQL pour filtrer les paires d'enregistrements pour lesquels il n'y a pas de relation entre les données. Ceci est la majorité des lignes qui seraient retournés dans un produit cartésien. En supposant une relation entre la colonne id dans chaque table, la jointure puis produit le résultat suivant:
mysql> SELECT * -> FROM t1, t2 ->Programmation Android: Android I. Activité Lifecycle & amp; ndash; Concepts
- Comment est-il difficile d'apprendre la programmation?
- Aspects commerciaux Pour Horizontal page Web Menus
- Mysql intervalle pour la date et Time
- Comment jouer Runescape sur l'iPod touch /iPhone /iTouch Sans VNC, à l'aide de …
- Résumé des Mysql Privilège System
- Comment faire des jeux pour mobile Platforms
- Opérateurs arithmétiques dans Php
- Notions de base de C ++ Identifier Scope
- Les Directory
- Création d'un jeu de plateforme flash avec Flixel et Flex - Obtenir Started