sql >> データベース >  >> RDS >> PostgreSQL

SQL:返されるレコードの数を制御する

    そこに行きます(テストされていません):

    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)
    

    編集:すべての条件を副選択に入れることにより、ソーステーブルのmovieからどのデータを制御することはできません JOINに使用されます。パフォーマンスに関しては、これもはるかに高速であるはずです。



    1. GROUP_CONCAT()のMySQL DISTINCT

    2. 特定のフィールドに通貨記号£、$を追加します。ORACLE

    3. mysqlテーブルから最初と最後のレコードを見つける方法

    4. 一括挿入を使用するときにnull値を挿入する