SAK 図書館
SQL 基礎実地編 (その五) 問い合わせ、抽出、ソート(並べ換え)
■抽出問い合わせ(抽出条件、条件抽出) ・単純な抽出条件は次のように指定する。 この例では、キーが「a001」のものだけが問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where キー = 'a001' order by キー ; ・この例では、キーが「a001」以外のものだけが問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where キー <> 'a001' order by キー ; ・この例では、データ3が NULL のものだけが問い合わされる。 (空列検索、NULL 列検索、NULL 検索、NULL 抽出) select キー, データ1, データ2, データ3 from sak.テストm where データ3 is null order by キー ; ・この例では、データ3が NULL でないものだけが問い合わされる。 (NULL 以外) select キー, データ1, データ2, データ3 from sak.テストm where not データ3 is null order by キー ; ・範囲抽出条件は次のように指定する。 この例では、キーが「a000」〜「a999」の範囲が問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where キー >= 'a000' and キー <= 'a999' order by キー ; ・SQL 関数を用いての抽出条件は次のように指定する。 この例では、キーが「a」で始まるものが問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where substr(キー, 1, 1) = 'a' order by キー ; ・substr() を使うより、マッチパターンの like を使う方が便利である。 この例では、キーが「a」で始まるものが問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where キー like 'a%' order by キー ; ・like では、ワイルドカードの「%」と一文字マッチ用の「_」が使える。 この例では、キーが先頭はなんでもよいが、それ以降が「001」のものが問 い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where キー like '_001' order by キー ; ・between では、値の範囲を指定できる。 この例では、データ3が 10 〜 100 のものが問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where データ3 between 10 and 100 order by キー ; ・and では、条件を共に満たす抽出がてきる。 この例では、データ1 と データ2 が 0 より上のものだけが問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where データ1 > 0 and データ2 > 0 order by キー ; ・or では、各条件を満たす抽出がてきる。 この例では、データ1 か データ2 のどちらが 0 より上のものが問い合わさ れる。 select キー, データ1, データ2, データ3 from sak.テストm where データ1 > 0 or データ2 > 0 order by キー ; ・and と or の組み合わせは、優先順位を () で必ず指定するようにする。 この例では、データ1 か データ2 のどちらが 0 より上のもので、キーの先 頭が「a」で始まるものだけが問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm where (データ1 > 0 or データ2 > 0) and キー like 'a%' order by キー ; ■ソート(並べ換え、並べ替え) ・order by 句でソート順が指定できる。 この例では、キーの昇順に問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm order by キー ; ・desc を指定すると降順になる。 この例では、キーの降順に問い合わされる。 Oracle では、desc で降順ですが、SQL-Sever は dasc だった気がします。 select キー, データ1, データ2, データ3 from sak.テストm order by キー desc ; ・ソートオーダは複数項目指定できる。 この例では、データ1 の大きい順でキーの昇順に問い合わされる。 select キー, データ1, データ2, データ3 from sak.テストm order by データ1 desc, キー ; ■SQL 基礎実地編資料
■SQL 基礎編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料