演習問題1で使用します。
ACCESS2010 のファイルとして作成されていますので、アイコンをクリックして、「保存」してください。
| 問題 1 | ||||||||||||||
|
[学生]表から、[氏名]と[住所]を抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||
| ||||||||||||||
| 問題 2 | ||||||||||||||||
|
[学生]表から、[性別]が "女"の学生を抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||
| ||||||||||||||||
| 問題 3 | ||||||||||||||||||||||||
|
[得点]表から、[学生番号]が "1221"でない学生のレコードを抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
| 問題 4 | ||||||||
|
[得点]表から、[受験日]が 2024/10/10で、[得点]が80以上のレコードを抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||
| ||||||||
| 問題 5 | ||||||||||||||||||||||||
|
[得点]表から、[受験日]が 2024/10/10か、[得点]が80以上のレコードを抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
| 問題 6 | ||||||||||||||||
|
[得点]表から、[得点]が70以上80以下のレコードを抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||
| ||||||||||||||||
| 問題 7 | ||||||||||||||||
|
[得点]表から、[科目コード]が "A" で始まる科目のレコードを抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||
| ||||||||||||||||
| 問題 8 | ||||||||||||
|
[得点]表から、[学生番号]の3桁目が "2" の学生のレコードを抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||
| ||||||||||||
| 問題 9 | ||||||||||||||||||||
|
[得点]表から、[得点]が70以上で、[受験日]が 2024/10/11 または [科目コード]の下1桁が "1" のレコードを抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||||
| ||||||||||||||||||||
| 問題 10 | ||||||||
|
[得点]表から、各学生の合計点を求め、次のように表示するための SQL 文を作成しなさい。なお、合計点はそれぞれの[学生番号]でグループ化しています。 | ||||||||
| ||||||||
| 問題 11 | ||||||||||
|
[得点]表から、各科目の平均点を求め、次のように表示するための SQL 文を作成しなさい。なお、平均点はそれぞれの[科目コード]でグループ化しています。 | ||||||||||
| ||||||||||
| 問題 12 | ||||||||||||
|
[得点]表から、受験日ごとの受験者総数を求め、次のように表示するための SQL 文をそれぞれ作成しなさい。なお、受験者総数は[受験日]でグループ化して求めます。 | ||||||||||||
[①重複も数える場合]
[②重複を数えない(同一の学生番号は一人として数える)場合]
| ||||||||||||
|
|
| 問題 13 | ||||||||||||||||||||||||||||||||
|
[得点]表を、[得点]の降順に整列し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| 問題 14 | ||||||||||||||||||||||||||||||||
|
[得点]表を、[科目コード]ごとに[得点]の降順に整列し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| 問題 15 | ||||||||
|
[得点]表から、各学生の合計得点を求め降順に整列し、次のように表示するための SQL 文を作成しなさい。 | ||||||||
| ||||||||
| 問題 16 | ||||||||||||||||||||||||
|
[得点]表と[科目]表から、[学生番号]と受験した「科目名」およびその[得点]を、[学生番号]と[科目コード]で昇順に整列し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||||||||
| ||||||||||||||||||||||||
| 問題 17 | |||
|
[学生]表と[得点]表から、[得点]が70以下の学生の[氏名]を求め、次のように表示するための SQL 文を作成しなさい。 | |||
| |||
| 問題 18 | |||||||||||||||||||||||||||||||||||||
|
[得点]表に、[学生番号]を "1221"、[科目コード]を "A02"、[得点]と 80 としたレコードを追加する SQL 文を作成しなさい。 | |||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
| 問題 19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
[得点]表に、"数学Ⅰ" を受けていない人のレコードを、[科目コード]を "A01"、[得点]を 0、[受験日]を NULL として追加する SQL 文を作成しなさい。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 問題 20 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
問題 19 で[得点]表に追加したレコード([科目コード]が "A01"で、[受験日]が NULL)のうち、"数学Ⅱ" を受けている人はその得点の半分を "数学Ⅰ" の[得点]とするように更新する SQL 文を作成しなさい。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| 問題 21 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
問題 20 の[得点]表で、[受験日]が NULL のレコードを削除する SQL 文を作成しなさい。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
演習問題2で使用します。
ACCESS2010 のファイルとして作成されていますので、アイコンをクリックして、「保存」してください。
| 問題 1 | |||||||||||||||||||||
|
顧客ごとの販売金額の多い順に「顧客コード」「顧客名」「販売金額」を抽出し、次のように表示するための SQL 文を作成しなさい。 | |||||||||||||||||||||
| |||||||||||||||||||||
| 問題 2 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
商品ごとの販売金額の多い順に「商品コード」「商品名」「販売金額」を抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
| 問題 3 | ||||||||||||||||||
|
社員ごとの販売金額の多い順に「社員コード」「社員名」「販売金額」を抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||
| ||||||||||||||||||
| 問題 4 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
商品ごとの販売個数の多い順に「商品コード」「商品名」「販売個数」を抽出し、次のように表示するための SQL 文を作成しなさい。 | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
| 問題 5 | |||||||||||||||||||||||||||||||||
|
2024/04/09(入力日)の売上について、「商品コード」順に「商品コード」「商品名」「販売個数」を抽出し、次のように表示するための SQL 文を作成しなさい。 「入力日」が 2024/04/09 ということは、#2024/04/09 00:00:00# と #2024/04/09 23:59:59# の間 | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
| 問題 6 | ||||||||||||||||||||||||||||||||||||||||
|
売上日(入力日)ごとの販売金額の多い順に「日付」「顧客コード」「顧客名」「販売金額」を抽出し、次のように表示するための SQL 文を作成しなさい。 入力日(2024/04/09 10:12:25) の形式から 日付(2024/04/09) だけを取り出すには、 フィールドに「日付: DateSerial(Year([入力日]),Month([入力日]),Day([入力日]))」と記入すればよい。 | ||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||
| 問題 7 | |||||||||
|
販売後(2024/04/12時点)の「在庫数量」が在庫マスタの「最少在庫数」を下回っているものについて「商品コード」順に「商品コード」「商品名」「在庫数量」を抽出し、次のように表示するための SQL 文を作成しなさい。 「在庫数量」=「在庫数」-「商品個数」の合計 (「商品個数」の合計 は、「問題 4」で「販売個数」として求めている) | |||||||||
| |||||||||
| 問題 8 | ||||||||||||
商品マスタの商品コード(0000100502)の商品を次のように変更するための SQL 文を作成しなさい。
| ||||||||||||
| ||||||||||||
| 問題 9 | ||||||||||||||||||
|
商品マスタの商品を新価格データで更新するための SQL 文を作成しなさい。
| ||||||||||||||||||
| ||||||||||||||||||
| 問題 10 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
「販売明細テーブル」の「仕入金額」を更新するための SQL 文を作成しなさい。 「仕入金額」= 「商品マスタ」の「仕入額」* 「商品個数」 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 問題 11 |
|
商品マスタの商品マスタNo(99999)の商品を削除するための SQL 文を作成しなさい。
|
|
|
| 問題 12 | ||||||||||||
商品マスタに新商品を次のように追加するための SQL 文を作成しなさい。
| ||||||||||||
| ||||||||||||
| 問題 13 | ||||||||||||||||||||||||||||||||||||||||||||||||||
販売データをもとに請求データを作成するための SQL 文を作成しなさい(顧客コード、販売日ごとに1件)。
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| 問題 14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
「販売データ」の「仕入金額」を入れる SQL 文を作成しなさい。 「仕入金額」= 同じ案件Noを持つ「販売明細テーブル」の「仕入金額」の合計 (「販売明細テーブル」の「仕入金額」の合計を求めて、「販売データ」の「仕入金額」に設定するのではなく、「販売明細テーブル」の「仕入金額」を順次「販売データ」の「仕入金額」に加算していく。「販売明細テーブル」の「仕入金額」は「問題 10」で設定されている。) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||