Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

SQL実習

法政大学

SQLの書き方を身につけるため、Chinookデータベースを使用し、SQLの総合演習を行う。

SQL文20問

tracksテーブル

  1. TrackIdNameを取得するSQL文を書け。

  2. TrackIdNameAlbumIdを取得し、AlbumIdで昇順に並べ替えるSQL文を書け。

  3. TrackIdNameAlbumIdを取得するSQL文を書け。ただし、AlbumId1のものだけを対象とする。

  4. TrackIdNameAlbumIdMillisecondsを取得するSQL文を書け。ただし、以下の条件を満たすものとする。

    • AlbumId1のもの

    • Milliseconds200000以上のもの

  5. NameAlbumIdComposerを取得するSQL文を書け。ただし、Composerの名前に"Steve"が含まれるものだけを対象とする。

  6. TrackIdNameMediaTypeIdを取得するSQL文を書け。ただし、MediaTypeId1または2のものだけを対象とする。(IN句を使用すること)

  7. それぞれのAlbumIdごとに、トラックの数をカウントし、AlbumId、トラック数を取得するSQL文を書け。結果はAlbumIdで昇順に並べ替えること。

  8. TrackIdNameGenreIdを取得するSQL文を書け。ただし、GenreId123以外のものだけを対象とする。(NOT IN句を使用すること)

  9. 「Wild」で始まるトラック名を持つトラックのTrackIdNameAlbumIdを取得するSQL文を書け。

  10. 「Honey」を含むトラック名を持つトラックのTrackIdNameAlbumIdを取得するSQL文を書け。

invoicesテーブル

  1. BillingAddressBillingCityを取得するSQL文を書け。ただし、BillingCity"Chicago"または"New York"のものだけを対象とする。

  2. BillingAddressBillingCityTotalを取得するSQL文を書け。ただし、以下の条件を満たすものとする。

    • BillingCity"Chicago"または"New York"のもの

    • Total10.00以上のもの

  3. InvoiceIdBillingAddressTotalを取得するSQL文を書け。ただし、Total14.00以上かつ18.00以下のものだけを対象とする。(Between句を使用すること)

  4. BillingCountryを取得するSQL文を書け。ただし、重複を除外すること。

tracks, albums, artistsテーブル

  1. ArtistId1のアーティストが作ったアルバムのTrackIdNameAlbumIdを取得するSQL文を書け。Hint: 副問合せ、IN句を使用すること。

  2. tracksalbumsテーブルを結合し、tracks.TrackIdtracks.Namealbums.Titleを取得するSQL文を書け。

  3. tracks.TrackIdtracks.Namealbums.Titleartists.Nameを取得するSQL文を書け。(JOIN句を使用すること)

  4. それぞれのAlbumIdごとに、トラックの数をカウントし、albums.Title、トラック数を取得するSQL文を書け。結果はカウント数で昇順に並べ替えること。Hint: JOIN句とGROUP BY句を使用すること。

  5. 上の問題の結果は,トラック数が15以上のものだけを対象とするSQL文を書け。Hint: HAVING句を使用すること。

  6. アルバム名が"Let There Be Rock"のアルバムに含まれるトラックのTrackIdNameAlbumIdを取得するSQL文を書け。Hint: 副問合せを使用すること。