PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

SQL:Steuern, wie viele Datensätze zurückgegeben werden

Bitte schön (ungetestet):

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)

Bearbeiten:Indem Sie alle Ihre Bedingungen in die Unterauswahl einfügen, können Sie nicht steuern, welche Daten aus der Quelltabelle movie stammen wird für den JOIN verwendet. In Bezug auf die Leistung sollte dies auch viel schneller sein.