【SQL入門編1】初心者必見!SQLのクエリの書き方を学ぼう

SQL入門

本記事からはSQLに関する解説をしていきます。

SQLはWebアプリ開発において必ずといって良いほど使われる言語です

将来Webアプリ開発に携わりたい方は、この機会にぜひSQLの基礎を抑えてください。

今回はまずSQLとは何かという解説と、SQLのSELECT文について解説しましょう。

SQLに関する基礎知識

SQLって何?という方もいると思います。

そこでSQLやSQLに関連する語句に関する説明をまとめました

  • データベース
  • クエリ
  • SQL

データベースやクエリが分からないとSQLも理解できないので、まずこの2つを先に解説します。

データベース

データベースとはデータを取り出したり修正しやすくするなるように整理したまとまりのことを言います。

データベースはデータを表という形式で管理しています。

表のことは「テーブル」と呼んでいます。

また、テーブルの縦の例は「カラム」、横の行は「レコード」と呼んでいます。

データベースに新しいデータを追加する場合、表の形に合わせて追加していきます。

クエリ

クエリとは、データベースからデータを取り出したり修正したりするための命令文のことです。

クエリを入力することによって、データベースを操作することができます。

また、クエリを入力することで、テーブル自体を作成したり削除したりすることも可能です。

SQL

SQLとは、データベースを操作するための、プログラミング言語のことを言います。

つまりSQLはPHPやPythonなどのプログラミング言語の仲間であるということです。

ただし、SQLはプログラミング言語の中でも、データベースの操作のみに使われます

SQLを使うことで、効率的にデータベースの操作をすることが可能です。

SQLの勉強を行う前の準備

それではSQLの学習をおこなっていきましょう。

まずは、SQLの勉強用の、以下のような表をデータベースに予め格納しておきます。

idnameagegenderTestScorebirthday
1佐藤12892000/05/09
2鈴木9641997/04/09
3高橋8901996/03/11
4田中10451998/04/05
5伊藤11251999/01/13
6渡辺8501996/02/14
7山本11551999/03/30
8中村121002000/06/01
9小林10991998/07/28
10加藤10141998/08/25

この表を使ってこれから学習していきます。

この表をデータベースに入力するためには、以下のクエリを実行してください

クエリを実行するときは、一行ずつ行ってください

○コード例

CREATE DATABASE TEST;
CREATE TABLE TEST.Student (id int, name varchar(255), age int, gender varchar(255), TestScore varchar(255), birthday date);
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(1,'佐藤',12,'男',89,'2000/05/09');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(2,'鈴木',9,'男',64,'1997/04/09');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(3,'高橋',8,'女',90,'1996/03/11');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(4,'田中',10,'男',45,'1998/04/05');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(5,'伊藤',11,'女',25,'1999/01/13');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(6,'渡辺',8,'女',50,'1996/02/14');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(7,'山本',11,'男',55,'1999/03/30');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(8,'中村',12,'男',100,'2000/06/01');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(9,'小林',10,'女',99,'1998/07/28');
INSERT INTO TEST.Student (id, name, age, gender, TestScore, birthday)VALUES(10,'加藤',10,'女',14,'1998/08/25');

クエリの意味に関しては、SQL初級編で詳しく解説致します。

こちらが一通り実行し終わったら、次は以下のクエリを実行してください。

○コード例

SELECT * FROM TEST.Student;

すると、上記の表と全く同じものが表示されるはずです。

全く同じものが表示された場合は、問題ありません。

SELECT文の使い方

SQLでもっとも多く使われるのがSELECT文です。

SELECT文を使うことで、特定のカラムのデータのみを取得することが可能です。

以下の項目に従って、SELECT文の使い方を解説していきます。

  • SELECT文で特定のカラムを取得する
  • SELECT文で複数のカラムを取得する

SELECT文で特定のカラムを取得する

SELECT文で、特定のカラムを取得してみましょう。

○コード例

SELECT id FROM TEST.Student;

○実行結果

上記のコードをみてください。

SELECTの後に「id」と書かれていますね。

SELECTの後にカラム名を指定することで、そのカラム名のみのデータを取得することが可能です。

その後ろにはFROMと書かれており、更に後ろには「TEST.Student」とあります。

「FROM テーブル名」と書くことにより、どのテーブルからデータを取得するか指定することか可能です。

つまり、「SELECT id FROM TEST.Student」とは、「『TEST.Student』テーブルからカラムが『id』のデータのみを取得する」ということになりますね。

これがSELECT文の基本的な使い方です。

SELECT文を使う場合は、基本的にはFROM文も一緒に使います。

SELECT文で複数のカラムを取得する

つづいて、SELECT文で複数のカラムを取得する方法をみていきましょう。

先程はカラムが「id」のデータのみ取得しましたが、今後は「id」と「TestScore」のデータを同時に取得してみましょう。

○コード例

SELECT id,TestScore FROM TEST.Student;

○実行結果

複数のカラムを取得する場合は、SELECTの後に「,」区切りでカラム名を指定します。

上記の例では「id,TestScore」とすることで、「id」と「TestScore」のデータを同時に取得しています。

このように「,」で区切ることで、複数のカラムを取得可能です。

最後に、SELECT文で全てのカラムのデータを取得する方法をみていきましょう。

全てのカラムを取得する場合は「*」という記号を使います

○コード例

SELECT * FROM TEST.Student;

○実行結果

SELECTの後に「*」を指定すると、テーブルの全てのカラムのデータを取得できます。

全てのデータが欲しい場合は「*」を使ってください。

まとめ

本記事では、SQLのSELECT文について解説しました。

SELECT文によって特定カラムのデータを取得する方法がお分かり頂けたでしょうか?

今回はSQLの最も単純な例を紹介させて頂きました。

次回はSQLのWHERE句について解説します。

手に職をつけてプログラマー転職

そろそろ本気で将来のことを考えなくちゃ……手に職をつけてプログラマーやエンジニアに転職したいなぁ。でも、プログラミングスクールってものすごくたくさんあるし、なんか敷居が高いのよね

これからプログラマーやエンジニアへの転身を目指すあなたに、どのスクールがもっとも適しているのかを紹介します。

SQL入門
【この記事を書いた人】
谷津弘樹

某自社開発のIT企業に勤めていた元webプログラマーです。主にサーバーサイド側を担当し、phpを使った開発経験があります。現在は退職しフリーランスライターとして活動中。IT系の記事を主に執筆し生計を立てています。

CANIT
タイトルとURLをコピーしました