以下の問題は、以下のworldデータベースに関してのものです。
1.検索
— 1.1.country表から、すべての行のすべての列を取得しなさい。
<結果の例>
‘ABW’, ‘Aruba’, ‘North America’, ‘Caribbean’, ‘193.00’, NULL, ‘103000’, ‘78.4’, ‘828.00’, ‘793.00’, ‘Aruba’, ‘Nonmetropolitan Territory of The Netherlands’, ‘Beatrix’, ‘129’, ‘AW’ |
— 1.2.country表から、国の名前(Name)と人口(Population)をすべて取得しなさい。
<結果の例>
‘Aruba’, ‘103000’ |
— 1.3.country表から、大陸(Continent)をすべて重複なしに取得しなさい。
2.算術演算子
— 2.1.country表から、国の総GNP(TotalGNP:人口×GNP)を取得しなさい。
<結果の例>
‘Aruba’, ‘85284000.00’ |
— 2.2.country表から、人口密度(PopulationDensity:面積÷人口)を取得しなさい。
<結果の例>
‘Aruba’, ‘0.001874’ |
3.比較演算子
— 3.1.country表から、国の名前(Name)が日本(Japan)のレコードを取得しなさい。
<結果の例>
‘JPN’, ‘Japan’, ‘Asia’, ‘Eastern Asia’, ‘377829.00’, ‘-660’, ‘126714000’, ‘80.7’, ‘3787042.00’, ‘4192638.00’, ‘Nihon/Nippon’, ‘Constitutional Monarchy’, ‘Akihito’, ‘1532’, ‘JP’ |
— 3.2.country表から、人口(Population)が2億人以上の国の名前(Name)と人口(Population)を取得しなさい。
<結果の例>
‘China’, ‘1277558000’ ‘Indonesia’, ‘212107000’ ‘India’, ‘1013662000’ ‘United States’, ‘278357000’ |
— 3.3.country表から、人口(Population)が1億人以上1.5億人以下の国の名前(Name)と人口(Population)を取得しなさい。ただし、BETWEENキーワードを使うこと。
<結果の例>
‘Bangladesh’, ‘129155000’ ‘Japan’, ‘126714000’ ‘Nigeria’, ‘111506000’ ‘Russian Federation’, ‘146934000’ |
— 3.4.country表から、独立年(IndepYear)が1947年または1955年の国の名前(Name)と独立年(IndepYear)を取得しなさい。
<結果の例>
‘Germany’, ‘1955’ ‘India’, ‘1947’ ‘Pakistan’, ‘1947’ |
— 3.5.country表から、国コード(Code)が NZLまたはAUSの国の名前(Name)と独立年(IndepYear)を取得しなさい。
<結果の例>
‘Australia’, ‘1901’ ‘New Zealand’, ‘1907’ |
— 3.6.country表から、首長(HeadOfState)がNULLの国の名前(Name)と独立年(IndepYear)を取得しなさい。
<結果の例>
‘San Marino’, ‘885’ |
— 3.7.country表から、国名(Name)がJaで始まるの国の名前(Name)とGNP(GNP)を取得しなさい。
<結果の例>
‘Jamaica’, ‘6871.00’ ‘Japan’, ‘3787042.00’ |
— 3.8.country表から、国名(Name)にapaが含まれる国の名前(Name)と平均寿命(LifeExpectancy)を取得しなさい。
<結果の例>
‘Japan’, ‘80.7’ |
— 3.9.country表から、国名(Name)がIで始まる4文字の国の名前(Name)とGNP(GNP)を取得しなさい。
<結果の例>
‘Iran’, ‘195746.00’ ‘Iraq’, ‘11500.00’ |
4.論理演算子
— 4.1.country表から、人口(Population)が1億人以上かつ平均寿命(LifeExpectancy)が80歳以上の国の名前(Name)と人口(Population)を取得しなさい。
<結果の例>
‘Japan’, ‘126714000’ |
— 4.2.country表から、人口(Population)が2億人以上または平均寿命(LifeExpectancy)が80歳以上の国の名前と人口を取得しなさい。
<結果の例>
‘Andorra’, ‘78000’ ‘Bangladesh’, ‘129155000’ ‘Brazil’, ‘170115000’ |
— 4.3.country表から、国コード(Code)が NZLまたはAUSの国の名前(Name)と独立年(IndepYear)を取得しなさい。 ただし、論理和を使うこと。
<結果の例>
‘Australia’, ‘1901’ ‘New Zealand’, ‘1907’ |
— 4.4.country表から、国名(Name)が AまたはBで始まり、かつ大陸(Continent)がAで始まる国の名前(Name)と人口(Population)を取得しなさい。
<結果の例>
‘Afghanistan’, ‘22720000’ ‘Angola’, ‘12878000’ |
— 4.5.country表から、大陸(Continent)がAで始まらない大陸を取得しなさい。
<結果の例>
‘North America’ ‘Europe’ ‘South America’ ‘Oceania’ |
5.検索結果のソート
— 5.1.country表から平均寿命(LifeExpectancy)の小さい順に国の名前(Name)と平均寿命(LifeExpectancy)を取得しなさい。
<結果の例>
‘Zambia’, ‘37.2’ ‘Mozambique’, ‘37.5’ |
— 5.2.country表から平均寿命(LifeExpectancy)の大きい順に国の名前(Name)と平均寿命(LifeExpectancy)を取得しなさい。ただし、平均寿命がNULLのデータは除きなさい。
<結果の例>
‘Andorra’, ‘83.5’ ‘Macao’, ‘81.6’ |
— 5.3.country表から独立年(IndepYear)の古い順にすべての列を表示させなさい。ただし、独立年がNULLのデータは除きなさい。
<結果の例>
‘CHN’, ‘China’, ‘Asia’, ‘Eastern Asia’, ‘9572900.00’, ‘-1523’, ‘1277558000’, ‘71.4’, ‘982268.00’, ‘917719.00’, ‘Zhongquo’, ‘People\’sRepublic’, ‘Jiang Zemin’, ‘1891’, ‘CN’ ‘ETH’, ‘Ethiopia’, ‘Africa’, ‘Eastern Africa’, ‘1104300.00’, ‘-1000’, ‘62565000’, ‘45.2’, ‘6353.00’, ‘6180.00’, ‘YeItyop´iya’, ‘Republic’, ‘Negasso Gidada’, ‘756’, ‘ET’ |
— 5.4.country表から、国の総GNP(TotalGNP:人口×GNP)の大きい順に国名(Name)と総GNPを取得しなさい。ただし、総GNPにはTotalGNPという別名をつけること。
<結果の例>
name, TotalGNP ‘United States’, ‘2369012919900000.00’ |
— 5.5.country表から、大陸名(Continent)の昇順に並べ替え、大陸名が同じ場合は、国名(Name)の降順で並べ替えて、大陸名と国名を取得しなさい。
<結果の例>
‘Asia’, ‘Yemen’ ‘Asia’, ‘Vietnam’ ‘Asia’, ‘Uzbekistan’ |
6.集約関数
— 6.1.country表からレコードの件数を求めなさい。
<結果の例>
‘239’ |
— 6.2.country表から各国の平均寿命(LifeExpectancy)の最大値、最小値、平均を求めなさい。
‘83.5’, ‘37.2’, ‘66.48604’ |
<結果の例>
max(Population), min(Population), avg(Population) ‘1277558000’, ‘0’, ‘25434098.1172’ |
— 6.3.country表から人口(Population)の合計を求めなさい。
<結果の例>
sum(Population) ‘6078749450’ |
— 6.4.country表から人口(Population)と独立年(IndepYear)のレコードの件数を求めなさい。
<結果の例>
count(Population), count(IndepYear) ‘239’, ‘192’ |
問:この結果の差は何が原因か答えなさい。
7.グループ化
— 7.1.country表から大陸(Continent)ごとの人口(Population)の合計を求め、大陸名とともに表示しなさい。
<結果の例>
‘North America’, ‘482993000’ ‘Asia’, ‘3705025700’ |
— 7.2.country表から大陸(Continent)ごとのGNP(GNP)の平均を求め、平均額の大きい順に大陸名とともに表示しなさい。
<結果の例>
‘North America’, ‘261854.789189’ ‘Europe’, ‘206497.065217’ |
8.内部結合
ここからの問題には上記のworld表に加えて、以下のcity表を使います。
‘Aruba’, ‘Oranjestad’ ‘Afghanistan’, ‘Kabul’ |
— 8.2.country表とcityを国コード(CountryCode)で結合させた内部結合で、country表の国コード(Code)と国名(Name)、city表の市名(Name)と市の人口(Population)を取得し,降順にならべかえなさい。
<結果の例>
‘IND’, ‘India’, ‘Mumbai (Bombay)’, ‘10500000’ ‘KOR’, ‘South Korea’, ‘Seoul’, ‘9981619’ ‘BRA’, ‘Brazil’, ‘São Paulo’, ‘9968485’ |
9.単一行副問い合わせ
— 9.1.country表から、人口が最大の国名(Name)と人口(Population)を取得しなさい。
<結果の例>
‘China’, ‘1277558000’ |
— 9.2.country表から、人口が平均より多い国の名前(Name)と人口(Population)を取得しなさい。
<結果の例>
10.複数行副問い合わせ
— 10.1.country表から、人口が平均より多い国の名前(Name)と人口(Population)を取得しなさい。
<結果の例>
‘Argentina’, ‘37032000’ ‘Bangladesh’, ‘129155000’ |