J'ai un problème MySQL:MySQL trouver auteurs sans messages (one-to-many)
J'ai deux tables (messages et auteurs) dans une relation un à plusieurs (puisque chaque message est écrit par un auteur et un auteur peuvent écrire plusieurs articles).
Alors voici les tables:
Auteurs: id: BIGINT, nom: VARCHAR (255) Messages: id: BIGINT, AUTHOR_ID: BIGINT, corps: TEXTE.
Comment puis-je récupérer tous les auteurs sans publication?
Ce que j'ai essayé de faire est:
SELECT *
FROM Authors
WHERE id NOT IN (SELECT author_id
FROM Posts
GROUP BY author_id);
Mais il prend les âges !!!
Dans les deux tableaux, il y a 300 000 auteurs et 1 000 000 articles!
Un moyen plus rapide?
Merci les gars!
LEFT JOIN/IS NULL est équivalent à NOT IN MySQL: http://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is -null-mysql / –