Tout afficher avec INNER JOIN

Bonjour, je voudrais savoir comment afficher tous les résultat d'une requête avec INNER JOIN même si une jointure et vide, voici un exemple pour être plus claire :

J'ai trois tables:

news ()
news_photos()
photos()

voici la requete type:

SELECT *
FROM news AS n
INNER JOIN news_photos AS np ON np.id_news = n.id_news
INNER JOIN photos AS p ON p.id_photo = np.id_photo;

Cette requête fonctionne bien, le seul problème c'est qu'elle me retourne uniquement les news qui ont des photos ! Je voudrais qu'elle me retourne également les news qui n'ont pas de photos.

Merci ! ;)

3 réponses

  1. Modérateur
    Salut,

    INNER JOIN fait une équijointure, pour le reste, il y a LEFT JOIN et RIGHT JOIN en fonction du côté où tu te places...
    1
    1. tu peux garder ta requete comme il est tout en remplacant les jointures internes par les jointures externes et tu auras ce que tu veux:
      remplace la premiere inner join par left join
      remplace la deuxième inner join par right join

      si ca marche pas tu fais le contraire
      dans certains cas les deux jointures externes sont du même coté

      bonne chance
      0