sql >> Databasteknik >  >> RDS >> PostgreSQL

SQL:Styr hur många poster som returneras

Där har du (otestad):

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)

Redigera:Genom att lägga alla dina villkor i undervalet kan du inte kontrollera vilken data från källtabellen movie kommer att användas för JOIN. Prestandamässigt borde detta också vara mycket snabbare.



  1. automatiskt öka den andra kolumnen

  2. PostgreSQL 9.6 prestandaförbättring för lagrad procedur

  3. Hitta den största gruppen av på varandra följande nummer inom en partition

  4. anropa SQL-funktionen inom R-funktionen