SQLとデータベースを初めて使用します。検索するにはSQLクエリを作成する必要があります。
all posts that have tags with tagname='t1'
投稿とタグの関係は多対多です
そこで、以下のようにスキーマといくつかの挿入ステートメントを作成しました。
create table Posts(
p_id int ,
p_name varchar
);
create table Tags(
t_id int ,
t_name varchar
);
多対多の関係には結合テーブルが必要なので、それも作成しました
create table Posts_Tags(
p_id int,
t_id int
);
insert into Posts values('1','P1' );
insert into Posts values('2','P2' );
insert into Posts values('3','P3' );
insert into Tags values ('1','t1');
insert into Tags values ('2','t2');
insert into Tags values ('3','t3');
insert into Tags values ('4','t4');
insert into Tags values ('5','t5');
insert into Posts_Tags values('1','1' );
insert into Posts_Tags values('1','2' );
insert into Posts_Tags values('2','1' );
insert into Posts_Tags values('2','3' );
insert into Posts_Tags values('3','5' );
では、SQLクエリを作成して、タグが付いたすべての投稿を取得するにはどうすればよいt_name='t1'
ですか?クエリを実行only the two tables Posts and Tags
して正しい結果を取得することは可能ですか?または、Posts_Tagsテーブルも使用する必要がありますか?
許してください。ただし、rdbmsとSQLについてはほとんど知識がありません。