プログラミング

MySQLによる 条件分岐とサブクエリー

データベースの作表は色々な条件を様々な方法で抽出し複雑な内容を表現するにはいくつかの手法が用意されています。
プログラム言語として判断、ループ、集合等々を SQL文で表現することができます。

今回は、郵便番号データベースを利用しその挙動を確認します。

条件分岐、サブクエリの概要

条件分岐
値に対して条件分岐を行い異なる値を返すことができます。
単純にその値に応じて値を返します。
例えば、ある値が真偽(true,false)により名前をつけるます。
また、条件式により値を返します。
例えば、ある文字を含む場合、点数の範囲によるランキング等々

サブクエリ
異なる問い合わせを組み合わせ、複雑な問い合わせができるます。
select句、from句、having句、where句などで利用します。
ただ、対象のデータ件数が増えるにつれ速度低下、見通しが悪い等々の問題があります。
出来るだけテーブルの結合(JOIN句)利用したいです。

今回の課題

今回利用する郵便番号データベースの構造です。
全国の八地方として地域 (北海道、東北、関東、中部、近畿、中国、四国、九州沖縄)を定義してあります。 今回の課題として全国の政令都市として市町村としての区の数を調べることを課題とします。 順に追ってSQL文を作成していきます。

① 大阪府で市町村名に政令都市としての区で割り振られている地域の一覧
② 東京都の市町村名で「区、市、町、村」で終わる件数
③ 全国の政令指定都市で設置された区が、地域名、都道府県毎の件数

都道府県と地域を結びづける多対多の構造を持ったテーブルを前の投稿で追加で作成しています。
このテーブルを利用してサブクエリとして、地域、都道府県別の「区」を含むリストを生成します。

④地域毎の市町村での「区」で終わる件数
参考サイト: Mysqlドキュメント:CASE構文

最近の記事

  1. EC-CUBE 4.0 インストール
  1. サーバー環境

    Vagrant ローカル環境構築 centos7
  2. プログラミング

    Wordressの投稿を「FullCalendar」でカレンダー表示してみる
  3. プログラミング

    Django Webアプリケーションの構築 データベースの内容一覧表示 およびア…
  4. Web・デザイン

    CSS3 アニメーションライブラリ animate.cssについて学ぶ
  5. プログラミング

    python Anacondaを利用した開発環境の整備 jupter Noteb…
PAGE TOP