![]() ![]() ![]()  | 
|
8.4.4 Utiliser plus d'une table
La table  
 
Avec ces indications, la requête de  
mysql> CREATE TABLE event (nom VARCHAR(20), date DATE,
    -> type VARCHAR(15), remark VARCHAR(255));
Comme pour la table  Chargez les informations comme ceci : mysql> LOAD DATA LOCAL INFILE "event.txt" INTO TABLE event; 
Etant donné ce que vous avez appris avec les requêtes sur la table  
Supposons que vous voulez avoir l'age des animaux lorsqu'ils ont eu leur portée. La table  
mysql> SELECT animaux.nom, (TO_DAYS(date) - TO_DAYS(naissance))/365 AS age, remarque
    -> FROM animaux, event
    -> WHERE animaux.nom = event.nom AND type = "portée";
+--------+------+-------------------------------+
| nom    | age  | remarque                      |
+--------+------+-------------------------------+
| Fluffy | 2.27 | 4 chatons, 3 femelles, 1 male |
| Buffy  | 4.12 | 5 chiots, 2 femelles, 3 male  |
| Buffy  | 5.10 | 3 chiots, 3 femelles          |
+--------+------+-------------------------------+
Il faut remarquer plusieurs choses à propos de cette requête : 
 
Les regroupements sont aussi possibles sur une même table. Cela revient à comparer des valeurs d'une table avec d'autres valeurs de la même table. Par exemple, pour marier vos animaux entre eux, vous pouvez faire un regroupement de la table  
mysql> SELECT p1.nom, p1.genre, p2.nom, p2.genre, p1.espece
    -> FROM animaux AS p1, animaux AS p2
    -> WHERE p1.espece = p2.espece AND p1.genre = "f" AND p2.genre = "m";
+--------+-------+--------+-------+---------+
| nom    | genre | nom    | genre | espece  |
+--------+-------+--------+-------+---------+
| Fluffy | f     | Claws  | m     | chat    |
| Buffy  | f     | Fang   | m     | chien   |
| Buffy  | f     | Bowser | m     | chien   |
+--------+-------+--------+-------+---------+
Dans cette requête, plusieurs alias sont définis pour pouvoir faire référence à chaque instance de la table, et à la bonne colonne.  | |