郵便番号テーブルを用いた SQL 演習

演習で行うこと

SQLデータベースにおける日本語の活用について学習する.

郵便番号データベース (Japanese ZIP code database)

郵便番号データベースは,zips,kens,shichosonsの3つのテーブルで構成されている.

郵便番号データベースの作成手順については別の Web ページで説明している.

Sqliteman で既存のデータベースを開く

すでに作成済みのデータベースを,以下の手順で開くことができる.

以下の手順で,既存のデータベースファイルを開く. (Open an existing database file)

  1. Sqliteman を起動する
  2. File」→ 「Open
  3. データベースファイルを開く

    * Ubuntu での実行例(「SQLite/mydb」を開く場合)

    データベースファイル SQLite/mydb を選択し, 「開く」をクリックする (Click '開く' after choosing the database file "SQLite/mydb")

  4. データベースの内容が表示されるので確認する (Database appears)

    「Tables」を展開すると,テーブルの一覧 (List of Tables) が表示されるので確認する (List of tables appears by clicking 'Tables')

    zips,kens,shichosons テーブルの内容を表示して確認する. zips,kens,shichosons テーブルの表示ができない場合は, 授業内で個別に対応いたします

郵便番号に関する条件検索

テーブル zips を使用し,住所(jusho)の取得などを実行する.

都道府県名に関する条件検索

テーブル kensshichosons を使用し,都道府県名(ken_kanji)による条件検索を実行する.

市町村名に関する条件検索

テーブル shichosons を使用し,市町村名(shichoson_kanji)による条件検索を実行する.

町域名に関する条件検索

テーブル zips の属性 choiki_kanji (これは文字列属性)に関する条件検索を実行する. 文字列属性に対して「=」演算子を使用する.

文字列による郵便番号の検索(LIKE と % を用いた部分一致)

テーブル zips の属性 ken_kanji,shichoson_kanji,choiki_kanji (これは文字列属性)に関する条件検索を実行する. 文字列属性に対して「LIKE」演算子を使用する.

2つのテーブルの結合(Join;ジョイン)を行う例

テーブル zips と テーブル shichosons を,jiscode属性によって結合(join)し, 条件で絞り込む処理を実行する

テーブル zips と テーブル shichosons と テーブル kens の結合処理を実行する.

タップルの総数 (COUNT)

COUNT(*) を使用してタップル数を計算する.

ORDER BY の例

group by と COUNT の組み合わせ

group by による集約の後,COUNT を使用してタップル数を計算する.

HAVING の例

COUNT で計算したタップル数に関して条件を指定し,タップルを絞り込む.