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文について ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

はじめに 今回は競合の解決について説明する。 前回までの記事はこちら 非エンジニアでも知らないとヤバイGit Part1 非エンジニアでも知らないとヤバイGit Part2 競合の発生 リモートリポジトリとローカルリポジトリ ...

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

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

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

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