金子邦彦研究室インストール日本郵政の「郵便番号データ」を SQLite 3 で使う郵便番号テーブルを用いた SQL 演習

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

演習で行うこと

SQL の中で日本語を使う.

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

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

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

[image]

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

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

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

  1. Sqliteman を起動する
  2. File」→ 「Open

    [image]
  3. データベースファイルを開く (Open Database File)

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

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

    [image]
  4. データベースの中身が表示されるので確認する (Database appears)

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

    zips, kens, shichosons テーブルの中身を表示してみる. zips, kens, shichosons テーブルの表示ができないというときは, 授業の場で個別対応します

    [image]

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

テーブル zips を使用.住所(jusho)の取得などを行う.

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

テーブル kens, shichosons を使用.都道府県名(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 で数えたタップル数に関して条件を指定し,タップルを絞り込む.