Knocknote

  1. トップ
  2. コラム一覧
  3. 非エンジニアでも知らないとヤバイSQL Part2 〜SELECT文でデータ抽出〜

非エンジニアでも知らないとヤバイSQL Part2 〜SELECT文でデータ抽出〜

投稿日 : 2018.02.13  |  カテゴリー : 非エンジニアでも知らないとヤバイ

DB、SQLについて

前回の非エンジニアでも知らないとヤバイSQL Part1では、DBの種類(「関係型」「NoSQL」「階層型」「ネットワーク型」)、その中でも現在主流になっている「ネットワーク型」(RDBMS)について、SQLについて触れました。
今回は具体的に、SQLのデータ抽出のクエリ、SELECTについてです。SQLをある程度知っているとデータの扱い方やマーケティング、ゲームの企画などでも活かせます。構文はシェア率の高いMySQLで進めていきます。
非エンジニアでも必ず押さえておくべきSQL

SELECTの基本

DB
前回も登場した社員マスターテーブル、t_employeeです。

ではまず、社員全員のデータを抽出してみましょう。

結果は以下の通りです。

では上記SQLについて解説です。

SELECT * FROM t_employee;

SELECTの後の*は全てのカラム(列)を意味します。表の縦です。対して横はレコードといい行(row)を意味します。

FROMはどのテーブルから抽出するかです。

SELECT カラム名 FROM テーブル名;

ということになります。慣れないうちは文末の;(セミコロン)を忘れがちなので気をつけてください。

SELECTの基本2  カラムを指定

では今度は社員テーブルから氏名のみを抽出してみましょう。

結果はカラムを指定しているので以下のようになります。

とっても簡単ですね!

SELECTの基本3  抽出件数を指定

では今度は社員テーブルから件数を指定して抽出してみましょう。

MySQLの場合、LIMITの後の数字は何件取得するかを指定します。

SELECT カラム名 FROM テーブル名 LIMIT 抽出件数;

すると結果は以下のようになります。

期待通りの結果ですね!

では、3番目から4人のデータを抽出したい場合、MySQLではどのように書けばいいのでしょうか。
3番目にあたる抽出の開始位置をOFFSET(オフセット)といい、MySQLでは以下のように指定します。オプションですので必要な時のみ指定します。

SELECT カラム名 FROM テーブル名 LIMIT (オフセット,) 抽出件数;

結果は以下のようになります。
MySQL LIMIT OFFSET
ここでもう一度クエリを確認してみてください。3番目からなのにOFFSETに2がはいっていることに気づきましたか?開始位置は0から始まるので、3番目を指定したい場合は2をOFFSETに指定する必要があります。

まとめ

今回はMySQLでSELECTする際、全カラム抽出、カラム指定抽出、件数指定抽出、OFFSETを使った件数指定抽出についてでした。データ抽出の仕組みや方法って、色々な場面で役にたちます。非エンジニアでも知っているだけで大違いなSQL。次回もSELECTの続きをやっていきます!

この記事を共有する
  • facebookでシェアする
  • ツイッターでつぶやく
  • LINEで送る
関連記事
非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part4 〜INSERT句でデータを追加〜

非エンジニアでも知らないとヤバイSQL Part4 〜INSERT句でデータを追加〜 前回はWHEREでテーブルから指定した条件のデータを抽出する方法を学びましたね。 今回はテーブルにデータを追加して拡張してくれるINSERT文について ...

非エンジニアでも知らないとヤバイPHP Part1

プログラミング経験有無に関わらず知識は必要 タイトルに記載していますように非エンジニアの方(業界問わず)でもプログラミングに関する知識は必要です。昨今世界中においてあらゆる分野において情報化が進んでいます。これは日本も例外ではありません。 ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part6 〜似て非なるTRUNCATEとDROP〜

span{font-size:15px;} 非エンジニアでも知らないとヤバイSQL Part6 〜似て非なるTRUNCATEとDROP〜 前回はテーブルのデータの更新と削除を行うための「UPDATE」と「DELETE ...

非エンジニアでも知らないとヤバイGit Part1

そもそもGitとは Gitは分散型のバージョン管理システム。 分散型とは、リポジトリと言われる開発過程が保存されているデータベースが自分やチームのマシン(パソコン)に入っているタイプ。 バージョン管理システムは、コードなどの開発過 ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part1

非エンジニアでもエンジニアの知識が最低限必要 IT業界で働いていくには、非エンジニアでもエンジニアの知識がある程度必要です。営業マンやマーケッター、プランナーやデザイナーであっても、同じ業界で働くためには社外の打ち合わせなどはもちろん、社 ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part5 〜UPDATEとDELETEでデータを編集〜

span{font-size:15px;} 非エンジニアでも知らないとヤバイSQL Part5 ~UPDATEとDELETEでデータを編集~ 前回はテーブルにデータを追加するためのINSERT文について学びました。 ...

非エンジニアでも知らないとヤバイGit Part2

はじめに 前回は、Gitの基本的な機能、リモートリポジトリ・ローカルリポジトリ、コミットについて説明した。 今回は、 Gitの機能の1つであるクローン、Push、Pullについて説明する。 クローンとは 共同で開発を進める際に作 ...

非エンジニアでも知らないとヤバイCPU Part1

そもそもCPUとは CPUとは、Central Processing Unitの略で、日本語では中央演算処理装置と言い、別名はプロッセッサーです。 入力装置などから受けっとった値を処理し、出力装置などで結果を出力します。 CPUの内部 ...

非エンジニアでも知らないとヤバイCPU Part2

コア、クロック周波数 前回の非エンジニアでも知らないとヤバイCPU Part1 では、CPUの処理性能がわかるクロック周波数と、CPUの中心をになっているコアについて触れました。 今回は、処理を効率よく進めるためのキャッシュ ...

非エンジニアでも知らないとヤバイSQL

非エンジニアでも知らないとヤバイSQL Part3 〜WHERE句で検索条件を指定〜

SELECT文について 前回は、SQLにてSELECTする際、全カラム抽出、カラム指定抽出、件数指定抽出、OFFSETを使った件数指定抽出についてでした。 DBの種類(「関係型」「NoSQL」「階層型」「ネットワーク型」)、その中でも現 ...

Knocknote Education(ノックノートエドゥケーション)