0

これが私がこれまでに持っているものです:

ここに画像の説明を入力

//Insert a CD supplied by a particular supplier and produced by a particular producer 
Mysqli_query($con, "INSERT INTO CD WHERE suppliername = "Sony" AND producername = "Gold Records" (CD name, CD type, CD year) 
VALUES ('CDname', 'CDtype', 'CDyear')");

//List producers information who produce CD of a particular artist released in a particular year 
mysqli_query($con, "SELECT name from producers WHERE CD artist="Yoko Kano" AND year= "1999");

または含める必要がありますWHERE artist from song="Yoko Kano" AND year from song= "1999"か?

これは正しい構文ですか? 再確認したいだけです。

4

1 に答える 1

2

CD を挿入するには、次のようなものを使用できるはずです。

INSERT INTO cd (suppliername, producername, title, type, year) 
VALUES ('Sony', 'Gold Records', 'My CD Title', 'My CD Type', 2008)

これは宿題だと思っているので、2 番目の質問には完全な回答を提供するつもりはありません。多少なりともご案内させていただきます。

まず、プロデューサーのリストが必要な場合は、次のことを行う必要があります

SELECT * FROM producer

しかし、すべてのプロデューサーが必要なわけではありません。1999 年にリリースされた CD を制作したプロデューサーだけが必要です。これらの CD のリストを取得するにはどうすればよいでしょうか。別のクエリで:

SELECT * FROM cd WHERE year = 1999

では、これらをどのように組み合わせますか?次のようなもので:

SELECT * FROM producer, cd ここで、cd.producername = producer.name および cd.year = 1999

必要なクエリはより複雑です。アーティストはオノ ヨーコですが、アーティストは Cd テーブルではなく、Song テーブルにあるという事実を含める必要があります。これは、Song テーブルとの別の結合が必要であることを意味します。別の手がかりを得るために、質問を考えてみてください。特定のアーティストがリリースしたすべての CD を確認するにはどうすればよいですか? 特定のアーティストの曲をすべて見たい場合は、簡単です。

SELECT * FROM Song WHERE artist = 'Yoko Ono'

CDはどうですか?あなたがすることができます:

SELECT * FROM Cd, Song WHERE Song.CdTitle = Cd.Title

最終的なクエリでは、3 つのテーブルすべてから選択する必要があり、すべての制約を設定する必要があります。

于 2013-05-06T15:04:11.447 に答える