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

別のテーブルからの行の参照(PostgreSQL)

    私があなたを正しく理解しているなら、リレーショナルデータベースの基本的な概念について読む必要があります(つまり、 http://www3.ntu.edu.sg/home/ehchua/programming/sql/relational_database_design.html )。テーブルは次のようになります。

    CREATE TABLE post(
        post_id INT,
        user_id INT
    );
    
    CREATE TABLE user (
        user_id INT
    );
    

    これは基本的に、ユーザーと投稿の間の1対多の関係です。つまり、1人のユーザーが多くの投稿を持つことができます。ユーザー(この場合はID 1のユーザー)のすべての投稿が必要な場合は、次のように取得できます。

    SELECT * FROM user u
    LEFT JOIN post p ON u.user_id = p.user_id
    WHERE user_id = 1;
    

    あなたの質問でわかるように、結果をオブジェクト指向モデルにマッピングすることをお勧めします。これは、使用しているテクノロジー/言語に大きく依存します。テクノロジーの大部分は、PostgreSQLなどのデータベースシステムに接続し、接続を開いたり閉じたりしてクエリを起動し、結果を取得するためのライブラリを提供します。この場合、結果を自分でマッピングする必要があります。しかし、あなたのためにこの仕事をしようとしているhibernateのような高度なマッパーもあります。ただし、それらを使用するには、「内部」のテクノロジーに関する十分な知識が必要です。




    1. Herokuでデータベースを表示する

    2. plpgsql関数の動的ORDERBYおよびASC/DESC

    3. Pentaho Data Integration(Kettle)CommunityEditionからOracle12cデータベースに接続する

    4. データベースからPictureBox画像を読み込んでいます