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

演習で行うこと

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

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

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

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

Sqliteman で既存のデータベースを開く (Open an existing database using Sqliteman)

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

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

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

    * 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 で計算したタップル数に関して条件を指定し,タップルを絞り込む.