PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

SQL :contrôle du nombre d'enregistrements renvoyés

Voilà (non testé):

SELECT movie.id, movie.title, star.name, star.name_url, dir.name, 
       dir.name_url, genre.name, genre.name_url 
FROM 
        (SELECT * FROM movie WHERE movie.id > 0 ORDER BY movie.id LIMIT 10) movie
        LEFT JOIN actor 
             ON (movie.id = actor.movie_id) 
        LEFT JOIN person AS star 
             ON (actor.person_id = star.id) 
        LEFT JOIN director 
             ON (movie.id = director.movie_id) 
        LEFT JOIN person AS dir 
             ON (director.person_id = dir.id) 
        LEFT JOIN genre_classification 
             ON (movie.id = genre_classification.movie_id) 
        LEFT JOIN genre 
             ON (genre_classification.genre_id = genre.id)

Modifier :en mettant toutes vos conditions dans la sous-sélection, vous ne pouvez pas contrôler les données de la table source movie sera utilisé pour le JOIN. En termes de performances, cela devrait également être beaucoup plus rapide.