Aide pour tables SQL
Fred
-
Fred -
Fred -
Bonjour,
Je viens poster pour la première fois ici afin d'exposer mon problème.
Je dois créer une base de données dans le cadre d'un stage de fin d'études.
Pour l'instant je me suis contenté de créer une table site comportant un ID, et un NOM, ainsi qu'une table parcelle. Voici leur structure et leur contenu :
CREATE TABLE IF NOT EXISTS 'SITE' (
'ID_SITE' smallint(1) unsigned NOT NULL default '0',
-- On met unsigned pour éviter les signes (-1, -2..) --
'NOM_SITE' varchar(20) character set utf8 collate utf8_unicode_ci NOT NULL,
-- On met character set pour spécifier le jeu de caractères et collate pour la collation de la colonne. --
PRIMARY KEY ('ID_SITE')
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- ENGINE retourne les erreurs --
--
-- Contenu de la table 'SITE'
--
INSERT INTO 'SITE' ('ID_SITE', 'NOM_SITE') VALUES
(1, "Beaufond"),
(2, "La Bretagne"),
(3, "Les Colimacons"),
(4, "La Mare"),
(5, "Le Plate")
-- (.., "..")--
;
-- --------------------------------------------------------
--
-- Structure de la table 'PARCELLE'
--
DROP TABLE IF EXISTS 'PARCELLE';
CREATE TABLE IF NOT EXISTS 'PARCELLE' (
'SITE' int(5) unsigned NOT NULL default '0',
'ID_PARC' int(20) unsigned NOT NULL auto_increment,
'NOM_PARC' varchar(20) character set utf8 collate utf8_unicode_ci NOT NULL,
PRIMARY KEY ('ID_PARC'),
FOREIGN KEY('SITE') REFERENCES SITE('ID_SITE')
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=49
;
INSERT INTO 'PARCELLE' ('SITE', 'ID_PARC', 'NOM_PARC') VALUES
(1,1,"parcelle1"),
(1,2,"parcelle2"),
(1,3,"parcelle3"),
(2,4,"parcelle4"),
(2,5,"parcelle5"),
(2,6,"parcelle6"),
(3,7,"parcelle7"),
(3,8,"parcelle8"),
(3,9,"parcelle9"),
(4,10,"parcelle10"),
(4,11,"parcelle11"),
(4,12,"parcelle12"),
(5,13,"parcelle13"),
(5,14,"parcelle14"),
(5,15,"parcelle15");
Je voudrais que pour chaque site, il y ait 3 parcelles :
Pour site1 il y a les parcelles 1 à 3.
Pour site 2 les parcelles 4 à 6,
etc ...
En tapant la requête suivante :
select * from PARCELLE join SITE on PARCELLE.SITE = SITE.ID_SITE WHERE PARCELLE.NOM_PARC="parcelle1";
J'obtiens :
+------+---------+-----------+---------+----------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+-----------+---------+----------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
+------+---------+-----------+---------+----------+
Mais je n'arrive pas à en sélectionner plusieurs, et dès que je tape cette requête là :
select * from PARCELLE join SITE on PARCELLE.SITE;
J'obtiens :
+------+---------+------------+---------+----------------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+------------+---------+----------------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
| 1 | 1 | parcelle1 | 2 | La Bretagne |
| 1 | 1 | parcelle1 | 3 | Les Colimacons |
| 1 | 1 | parcelle1 | 4 | La Mare |
| 1 | 1 | parcelle1 | 5 | Le Plate |
| 1 | 2 | parcelle2 | 1 | Beaufond |
| 1 | 2 | parcelle2 | 2 | La Bretagne |
| 1 | 2 | parcelle2 | 3 | Les Colimacons |
| 1 | 2 | parcelle2 | 4 | La Mare |
| 1 | 2 | parcelle2 | 5 | Le Plate |
| 1 | 3 | parcelle3 | 1 | Beaufond |
| 1 | 3 | parcelle3 | 2 | La Bretagne |
| 1 | 3 | parcelle3 | 3 | Les Colimacons |
| 1 | 3 | parcelle3 | 4 | La Mare |
| 1 | 3 | parcelle3 | 5 | Le Plate |
| 2 | 4 | parcelle4 | 1 | Beaufond |
| 2 | 4 | parcelle4 | 2 | La Bretagne |
| 2 | 4 | parcelle4 | 3 | Les Colimacons |
| 2 | 4 | parcelle4 | 4 | La Mare |
| 2 | 4 | parcelle4 | 5 | Le Plate |
| 2 | 5 | parcelle5 | 1 | Beaufond |
| 2 | 5 | parcelle5 | 2 | La Bretagne |
| 2 | 5 | parcelle5 | 3 | Les Colimacons |
| 2 | 5 | parcelle5 | 4 | La Mare |
| 2 | 5 | parcelle5 | 5 | Le Plate |
| 2 | 6 | parcelle6 | 1 | Beaufond |
| 2 | 6 | parcelle6 | 2 | La Bretagne |
| 2 | 6 | parcelle6 | 3 | Les Colimacons |
| 2 | 6 | parcelle6 | 4 | La Mare |
| 2 | 6 | parcelle6 | 5 | Le Plate |
| 3 | 7 | parcelle7 | 1 | Beaufond |
| 3 | 7 | parcelle7 | 2 | La Bretagne |
| 3 | 7 | parcelle7 | 3 | Les Colimacons |
| 3 | 7 | parcelle7 | 4 | La Mare |
| 3 | 7 | parcelle7 | 5 | Le Plate |
| 3 | 8 | parcelle8 | 1 | Beaufond |
| 3 | 8 | parcelle8 | 2 | La Bretagne |
| 3 | 8 | parcelle8 | 3 | Les Colimacons |
| 3 | 8 | parcelle8 | 4 | La Mare |
| 3 | 8 | parcelle8 | 5 | Le Plate |
| 3 | 9 | parcelle9 | 1 | Beaufond |
| 3 | 9 | parcelle9 | 2 | La Bretagne |
| 3 | 9 | parcelle9 | 3 | Les Colimacons |
| 3 | 9 | parcelle9 | 4 | La Mare |
| 3 | 9 | parcelle9 | 5 | Le Plate |
| 4 | 10 | parcelle10 | 1 | Beaufond |
| 4 | 10 | parcelle10 | 2 | La Bretagne |
| 4 | 10 | parcelle10 | 3 | Les Colimacons |
| 4 | 10 | parcelle10 | 4 | La Mare |
| 4 | 10 | parcelle10 | 5 | Le Plate |
| 4 | 11 | parcelle11 | 1 | Beaufond |
| 4 | 11 | parcelle11 | 2 | La Bretagne |
| 4 | 11 | parcelle11 | 3 | Les Colimacons |
| 4 | 11 | parcelle11 | 4 | La Mare |
| 4 | 11 | parcelle11 | 5 | Le Plate |
| 4 | 12 | parcelle12 | 1 | Beaufond |
| 4 | 12 | parcelle12 | 2 | La Bretagne |
| 4 | 12 | parcelle12 | 3 | Les Colimacons |
| 4 | 12 | parcelle12 | 4 | La Mare |
| 4 | 12 | parcelle12 | 5 | Le Plate |
| 5 | 13 | parcelle13 | 1 | Beaufond |
| 5 | 13 | parcelle13 | 2 | La Bretagne |
| 5 | 13 | parcelle13 | 3 | Les Colimacons |
| 5 | 13 | parcelle13 | 4 | La Mare |
| 5 | 13 | parcelle13 | 5 | Le Plate |
| 5 | 14 | parcelle14 | 1 | Beaufond |
| 5 | 14 | parcelle14 | 2 | La Bretagne |
| 5 | 14 | parcelle14 | 3 | Les Colimacons |
| 5 | 14 | parcelle14 | 4 | La Mare |
| 5 | 14 | parcelle14 | 5 | Le Plate |
| 5 | 15 | parcelle15 | 1 | Beaufond |
| 5 | 15 | parcelle15 | 2 | La Bretagne |
| 5 | 15 | parcelle15 | 3 | Les Colimacons |
| 5 | 15 | parcelle15 | 4 | La Mare |
| 5 | 15 | parcelle15 | 5 | Le Plate |
+------+---------+------------+---------+----------------+
Il semblerait en fait que chaque site contient les 15 parcelles...
Mes questions seraient :
Comment faire pour que chaque site comporte uniquement 3 parcelles ?
Une fois le problème réglé :
Comment faire pour sélectionner plusieurs parcelles de site différents ?
J'espère avoir été assez clair...
Merci d'avance
Je viens poster pour la première fois ici afin d'exposer mon problème.
Je dois créer une base de données dans le cadre d'un stage de fin d'études.
Pour l'instant je me suis contenté de créer une table site comportant un ID, et un NOM, ainsi qu'une table parcelle. Voici leur structure et leur contenu :
CREATE TABLE IF NOT EXISTS 'SITE' (
'ID_SITE' smallint(1) unsigned NOT NULL default '0',
-- On met unsigned pour éviter les signes (-1, -2..) --
'NOM_SITE' varchar(20) character set utf8 collate utf8_unicode_ci NOT NULL,
-- On met character set pour spécifier le jeu de caractères et collate pour la collation de la colonne. --
PRIMARY KEY ('ID_SITE')
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- ENGINE retourne les erreurs --
--
-- Contenu de la table 'SITE'
--
INSERT INTO 'SITE' ('ID_SITE', 'NOM_SITE') VALUES
(1, "Beaufond"),
(2, "La Bretagne"),
(3, "Les Colimacons"),
(4, "La Mare"),
(5, "Le Plate")
-- (.., "..")--
;
-- --------------------------------------------------------
--
-- Structure de la table 'PARCELLE'
--
DROP TABLE IF EXISTS 'PARCELLE';
CREATE TABLE IF NOT EXISTS 'PARCELLE' (
'SITE' int(5) unsigned NOT NULL default '0',
'ID_PARC' int(20) unsigned NOT NULL auto_increment,
'NOM_PARC' varchar(20) character set utf8 collate utf8_unicode_ci NOT NULL,
PRIMARY KEY ('ID_PARC'),
FOREIGN KEY('SITE') REFERENCES SITE('ID_SITE')
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=49
;
INSERT INTO 'PARCELLE' ('SITE', 'ID_PARC', 'NOM_PARC') VALUES
(1,1,"parcelle1"),
(1,2,"parcelle2"),
(1,3,"parcelle3"),
(2,4,"parcelle4"),
(2,5,"parcelle5"),
(2,6,"parcelle6"),
(3,7,"parcelle7"),
(3,8,"parcelle8"),
(3,9,"parcelle9"),
(4,10,"parcelle10"),
(4,11,"parcelle11"),
(4,12,"parcelle12"),
(5,13,"parcelle13"),
(5,14,"parcelle14"),
(5,15,"parcelle15");
Je voudrais que pour chaque site, il y ait 3 parcelles :
Pour site1 il y a les parcelles 1 à 3.
Pour site 2 les parcelles 4 à 6,
etc ...
En tapant la requête suivante :
select * from PARCELLE join SITE on PARCELLE.SITE = SITE.ID_SITE WHERE PARCELLE.NOM_PARC="parcelle1";
J'obtiens :
+------+---------+-----------+---------+----------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+-----------+---------+----------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
+------+---------+-----------+---------+----------+
Mais je n'arrive pas à en sélectionner plusieurs, et dès que je tape cette requête là :
select * from PARCELLE join SITE on PARCELLE.SITE;
J'obtiens :
+------+---------+------------+---------+----------------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+------------+---------+----------------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
| 1 | 1 | parcelle1 | 2 | La Bretagne |
| 1 | 1 | parcelle1 | 3 | Les Colimacons |
| 1 | 1 | parcelle1 | 4 | La Mare |
| 1 | 1 | parcelle1 | 5 | Le Plate |
| 1 | 2 | parcelle2 | 1 | Beaufond |
| 1 | 2 | parcelle2 | 2 | La Bretagne |
| 1 | 2 | parcelle2 | 3 | Les Colimacons |
| 1 | 2 | parcelle2 | 4 | La Mare |
| 1 | 2 | parcelle2 | 5 | Le Plate |
| 1 | 3 | parcelle3 | 1 | Beaufond |
| 1 | 3 | parcelle3 | 2 | La Bretagne |
| 1 | 3 | parcelle3 | 3 | Les Colimacons |
| 1 | 3 | parcelle3 | 4 | La Mare |
| 1 | 3 | parcelle3 | 5 | Le Plate |
| 2 | 4 | parcelle4 | 1 | Beaufond |
| 2 | 4 | parcelle4 | 2 | La Bretagne |
| 2 | 4 | parcelle4 | 3 | Les Colimacons |
| 2 | 4 | parcelle4 | 4 | La Mare |
| 2 | 4 | parcelle4 | 5 | Le Plate |
| 2 | 5 | parcelle5 | 1 | Beaufond |
| 2 | 5 | parcelle5 | 2 | La Bretagne |
| 2 | 5 | parcelle5 | 3 | Les Colimacons |
| 2 | 5 | parcelle5 | 4 | La Mare |
| 2 | 5 | parcelle5 | 5 | Le Plate |
| 2 | 6 | parcelle6 | 1 | Beaufond |
| 2 | 6 | parcelle6 | 2 | La Bretagne |
| 2 | 6 | parcelle6 | 3 | Les Colimacons |
| 2 | 6 | parcelle6 | 4 | La Mare |
| 2 | 6 | parcelle6 | 5 | Le Plate |
| 3 | 7 | parcelle7 | 1 | Beaufond |
| 3 | 7 | parcelle7 | 2 | La Bretagne |
| 3 | 7 | parcelle7 | 3 | Les Colimacons |
| 3 | 7 | parcelle7 | 4 | La Mare |
| 3 | 7 | parcelle7 | 5 | Le Plate |
| 3 | 8 | parcelle8 | 1 | Beaufond |
| 3 | 8 | parcelle8 | 2 | La Bretagne |
| 3 | 8 | parcelle8 | 3 | Les Colimacons |
| 3 | 8 | parcelle8 | 4 | La Mare |
| 3 | 8 | parcelle8 | 5 | Le Plate |
| 3 | 9 | parcelle9 | 1 | Beaufond |
| 3 | 9 | parcelle9 | 2 | La Bretagne |
| 3 | 9 | parcelle9 | 3 | Les Colimacons |
| 3 | 9 | parcelle9 | 4 | La Mare |
| 3 | 9 | parcelle9 | 5 | Le Plate |
| 4 | 10 | parcelle10 | 1 | Beaufond |
| 4 | 10 | parcelle10 | 2 | La Bretagne |
| 4 | 10 | parcelle10 | 3 | Les Colimacons |
| 4 | 10 | parcelle10 | 4 | La Mare |
| 4 | 10 | parcelle10 | 5 | Le Plate |
| 4 | 11 | parcelle11 | 1 | Beaufond |
| 4 | 11 | parcelle11 | 2 | La Bretagne |
| 4 | 11 | parcelle11 | 3 | Les Colimacons |
| 4 | 11 | parcelle11 | 4 | La Mare |
| 4 | 11 | parcelle11 | 5 | Le Plate |
| 4 | 12 | parcelle12 | 1 | Beaufond |
| 4 | 12 | parcelle12 | 2 | La Bretagne |
| 4 | 12 | parcelle12 | 3 | Les Colimacons |
| 4 | 12 | parcelle12 | 4 | La Mare |
| 4 | 12 | parcelle12 | 5 | Le Plate |
| 5 | 13 | parcelle13 | 1 | Beaufond |
| 5 | 13 | parcelle13 | 2 | La Bretagne |
| 5 | 13 | parcelle13 | 3 | Les Colimacons |
| 5 | 13 | parcelle13 | 4 | La Mare |
| 5 | 13 | parcelle13 | 5 | Le Plate |
| 5 | 14 | parcelle14 | 1 | Beaufond |
| 5 | 14 | parcelle14 | 2 | La Bretagne |
| 5 | 14 | parcelle14 | 3 | Les Colimacons |
| 5 | 14 | parcelle14 | 4 | La Mare |
| 5 | 14 | parcelle14 | 5 | Le Plate |
| 5 | 15 | parcelle15 | 1 | Beaufond |
| 5 | 15 | parcelle15 | 2 | La Bretagne |
| 5 | 15 | parcelle15 | 3 | Les Colimacons |
| 5 | 15 | parcelle15 | 4 | La Mare |
| 5 | 15 | parcelle15 | 5 | Le Plate |
+------+---------+------------+---------+----------------+
Il semblerait en fait que chaque site contient les 15 parcelles...
Mes questions seraient :
Comment faire pour que chaque site comporte uniquement 3 parcelles ?
Une fois le problème réglé :
Comment faire pour sélectionner plusieurs parcelles de site différents ?
J'espère avoir été assez clair...
Merci d'avance
A voir également:
- Aide pour tables SQL
- Tables des matières word - Guide
- Logiciel sql - Télécharger - Bases de données
- Tables ascii - Guide
- Sql (+) - Forum Programmation
- Tables des annexes word ✓ - Forum Word
5 réponses
Bonjour !
Merci pour vos réponses si rapide.
J'ai testé les deux requêtes et j'obtiens les résultats qu'il faut !
+------+---------+------------+---------+----------------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+------------+---------+----------------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
| 1 | 2 | parcelle2 | 1 | Beaufond |
| 1 | 3 | parcelle3 | 1 | Beaufond |
| 2 | 4 | parcelle4 | 2 | La Bretagne |
| 2 | 5 | parcelle5 | 2 | La Bretagne |
| 2 | 6 | parcelle6 | 2 | La Bretagne |
| 3 | 7 | parcelle7 | 3 | Les Colimacons |
| 3 | 8 | parcelle8 | 3 | Les Colimacons |
| 3 | 9 | parcelle9 | 3 | Les Colimacons |
| 4 | 10 | parcelle10 | 4 | La Mare |
| 4 | 11 | parcelle11 | 4 | La Mare |
| 4 | 12 | parcelle12 | 4 | La Mare |
| 5 | 13 | parcelle13 | 5 | Le Plate |
| 5 | 14 | parcelle14 | 5 | Le Plate |
| 5 | 15 | parcelle15 | 5 | Le Plate |
+------+---------+------------+---------+----------------+
15 rows in set (0.00 sec)
Pourriez-vous m'expliquer la requête que vous m'avez donné comparé à celle que j'avais (select * from PARCELLE join SITE on PARCELLE.SITE;) ?
Autre chose, est-il possible de sélectionner par exemple :
+------+---------+------------+---------+----------------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+------------+---------+----------------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
| 1 | 2 | parcelle2 | 1 | Beaufond |
| 2 | 6 | parcelle6 | 2 | La Bretagne |
| 5 | 14 | parcelle14 | 5 | Le Plate |
| 5 | 15 | parcelle15 | 5 | Le Plate |
+------+---------+------------+---------+----------------+
Merci pour votre aide !
cordialement
Merci pour vos réponses si rapide.
J'ai testé les deux requêtes et j'obtiens les résultats qu'il faut !
+------+---------+------------+---------+----------------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+------------+---------+----------------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
| 1 | 2 | parcelle2 | 1 | Beaufond |
| 1 | 3 | parcelle3 | 1 | Beaufond |
| 2 | 4 | parcelle4 | 2 | La Bretagne |
| 2 | 5 | parcelle5 | 2 | La Bretagne |
| 2 | 6 | parcelle6 | 2 | La Bretagne |
| 3 | 7 | parcelle7 | 3 | Les Colimacons |
| 3 | 8 | parcelle8 | 3 | Les Colimacons |
| 3 | 9 | parcelle9 | 3 | Les Colimacons |
| 4 | 10 | parcelle10 | 4 | La Mare |
| 4 | 11 | parcelle11 | 4 | La Mare |
| 4 | 12 | parcelle12 | 4 | La Mare |
| 5 | 13 | parcelle13 | 5 | Le Plate |
| 5 | 14 | parcelle14 | 5 | Le Plate |
| 5 | 15 | parcelle15 | 5 | Le Plate |
+------+---------+------------+---------+----------------+
15 rows in set (0.00 sec)
Pourriez-vous m'expliquer la requête que vous m'avez donné comparé à celle que j'avais (select * from PARCELLE join SITE on PARCELLE.SITE;) ?
Autre chose, est-il possible de sélectionner par exemple :
+------+---------+------------+---------+----------------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+------------+---------+----------------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
| 1 | 2 | parcelle2 | 1 | Beaufond |
| 2 | 6 | parcelle6 | 2 | La Bretagne |
| 5 | 14 | parcelle14 | 5 | Le Plate |
| 5 | 15 | parcelle15 | 5 | Le Plate |
+------+---------+------------+---------+----------------+
Merci pour votre aide !
cordialement
Les requêtes du dessus sont des jointures internes (http://www.siteduzero.com/tutoriel-3-214617-introduction-aux-jointures-sql.html#ss_part_3).
Pour ce qui est de ta requête (select * from PARCELLE join SITE on PARCELLE.SITE;) elle correspond... à rien :). Elle te renvoie donc le produit scalaire des 2 tables.
Pour ta derniere question :
+------+---------+------------+---------+----------------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+------------+---------+----------------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
| 1 | 2 | parcelle2 | 1 | Beaufond |
| 2 | 6 | parcelle6 | 2 | La Bretagne |
| 5 | 14 | parcelle14 | 5 | Le Plate |
| 5 | 15 | parcelle15 | 5 | Le Plate |
+------+---------+------------+---------+----------------+
Essaye de mettre ca sous la forme d'une question plutôt, du genre "Tout les parc dont le nom contient b" ou autre, parce que j'ai pas la patience d'essayer de chercher la logique derrière ta table...
Pour ce qui est de ta requête (select * from PARCELLE join SITE on PARCELLE.SITE;) elle correspond... à rien :). Elle te renvoie donc le produit scalaire des 2 tables.
Pour ta derniere question :
+------+---------+------------+---------+----------------+
| SITE | ID_PARC | NOM_PARC | ID_SITE | NOM_SITE |
+------+---------+------------+---------+----------------+
| 1 | 1 | parcelle1 | 1 | Beaufond |
| 1 | 2 | parcelle2 | 1 | Beaufond |
| 2 | 6 | parcelle6 | 2 | La Bretagne |
| 5 | 14 | parcelle14 | 5 | Le Plate |
| 5 | 15 | parcelle15 | 5 | Le Plate |
+------+---------+------------+---------+----------------+
Essaye de mettre ca sous la forme d'une question plutôt, du genre "Tout les parc dont le nom contient b" ou autre, parce que j'ai pas la patience d'essayer de chercher la logique derrière ta table...
Re-bonjour
Comme te l'as dit Leviathan49, ta requête fait le produit scalaire de 2 tables.
C'est la même chose que si tu fait :
le résultat contient (taille table1) X (taille table 2)
Alors que si tu fait
ou l'autre requête avec JOIN que je t'ai donnée, on demande d'afficher toutes les colonnes des 2 tables uniquement pour les lignes dont l'id du site de la table PARCELLE est égal à l'ID du site de la table site, ce qui fait donc un filtrage du résultat pour ne prendre que ce qui est cohérent.
C'est assez clair ?
Cordialement
Comme te l'as dit Leviathan49, ta requête fait le produit scalaire de 2 tables.
C'est la même chose que si tu fait :
Select * FROM PARCELLE, SITE
le résultat contient (taille table1) X (taille table 2)
Alors que si tu fait
SELECT * FROM PARCELLE, SITE WHERE PARCELLE.SITE = SITE.ID_SITE
ou l'autre requête avec JOIN que je t'ai donnée, on demande d'afficher toutes les colonnes des 2 tables uniquement pour les lignes dont l'id du site de la table PARCELLE est égal à l'ID du site de la table site, ce qui fait donc un filtrage du résultat pour ne prendre que ce qui est cohérent.
C'est assez clair ?
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Cordialement