Sauriez vous vers quel mot clef m’orienté pour réaliser une requète qui me renverrai des enreistrement inexistants ?
Concrètement, j’ai une table avec des éléments indexés par un id, dansnune autre table j’ajoute des données sur ces mêmes enregistement grâce à leur id que je place dans un champs correspondant.
Comment réaliser une requète qui pourrait me renvoyer les id de la 1ère table qui ne sont pas référencées dans la 2nde ?
je testerai ça ce soir, à priori je dois pouvoir m’en tirer avec l’opérateur <=> mais si ta solution est valable sans-nom ça peut m’intéresser pour d’autres types de requètes
j’ai pas testé mais vite fait comme ça, ta requète ne doit marcher que si mon index, ou au pire le nom de mon champ est le même… hors l’index de ma première table n’est pas un index dans la seconde table, et le champ ‘id’ existe dans la seconde table en tant qu’index aussi mais n’a rien à voir avec le champ ‘id’ de la 1ere table…
ok ça marche, mon pb vient du fait que je n’ai jamais utilisé un JOIN de ma vie et que du coup je n’y pense pas, je ne sais même pas exactment son rôle dans la requète…
Ca revient au même que le produit cartésien avec une condition sur les clefs communes :
SELECT * FROM a, b WHERE a.id = b.id
Sauf que JOIN est plus puissante. En particulier, tu peux choisir les tuples qui ne vérifient pas les conditions avec LEFT ou RIGHT JOIN (respectivement: à gauche y a quelque chose, ou à droite).