受講料が最大70%OFF 受講料が最大70%OFF

クエリ(query/queries)とは?

クエリとは、SQLを実行した際にデータベースへ送るための命令文のことです。

「SQLと何が違うの?」と思うかもしれません。

SQLは、データベースを操作するための言語を指します。

例えば、会社の社員情報が登録されているテーブルがあり「ユーザーIDが201のデータを取り出す」などの命令文を出すのがクエリです。

このクエリをSQLで書くと次の通りです。

SELECT * FROM employer WHERE user_id = 201;
SQLとクエリの違い
  • クエリ:SQLを実行した際にデータベースへ送るための命令文
  • SQL:データベースを操作するための言語

SQL Queriesのサンプル(example)

ここでは簡単なSQLクエリを使って、実際にデータベースを操作してみましょう。

まだデータベースをインストールしていない場合は、「MySQL」や「PostgreSQL」などのオープンソースデータベースをインストールしてみてください。

それぞれの詳しいインストール方法は、次の記事で解説しています。

ポテパンダの一言メモ

■MySQLのインストール方法

【関連記事】

▶︎MySQL5.7のダウンロード・インストールする方法【画像付き】

■PostgreSQLのインストール方法

【関連記事】

▶︎PostgreSQLのインストールからテーブル作成まで解説【初心者向け】

では、データベースを操作するために次のステップで操作を進めてみます。

ここではMySQLを使って上記の操作方法をみていきます。

データベースの作成

それではデータベースを作成してみましょう。

MySQLを起動した状態で次のSQLクエリを入力します。

CREATE DATABASE sample_db;

これで「sample_db」というデータベースの作成が完了しました。

作成したデータベースを確認するには、次のSQLクエリを入力しましょう。

SHOW DATABASES;


+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| sample_db          |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

テーブルの作成

次は、先ほど作成したsample_dbにテーブルを作成します。

ここではid、name、ageカラムをもつsample_tableを作成してみましょう。

テーブルを作成するには、次のSQLクエリを入力します。

CREATE TABLE sample_table(id int, name varchar(10), age int);

CREATE TABLEの後ろに作成したいテーブル名を記述し、()内に追加したいカラム名とカラムの型を宣言します。

これでテーブル作成はOKです。

データベースのように、次のSQLクエリで作成したテーブルを確認できます。

SHOW tables;

+---------------------+
| Tables_in_sample_db |
+---------------------+
| sample_table        |
+---------------------+
1 row in set (0.00 sec)

データの挿入

作成したテーブルにデータを挿入してみましょう。

データを挿入するには次のSQLクエリを入力します。

INSERT INTO sample_table VALUES (101, 'Kaneko', 28);

これでテーブルにデータを挿入できました。

同じようにいくつかデータを挿入してみましょう。

INSERT INTO sample_table VALUES (102, 'Tanaka', 17);
INSERT INTO sample_table VALUES (103, 'Sasaki', 35);

データ一覧の確認

では挿入したデータの一覧を確認してみましょう。

次のSQLクエリでテーブルの中身を確認できます。

SELECT * FROM sample_table;

+------+--------+------+
| id   | name   | age  |
+------+--------+------+
|  101 | Kaneko |   28 |
|  102 | Tanaka |   17 |
|  103 | Sasaki |   35 |
+------+--------+------+
3 rows in set (0.00 sec)

ちゃんとデータの挿入ができていますね。

データの変更

最後に、挿入したデータを変更してみましょう。

データを更新するにはUPDATEを使います。

ここでは、idが102のTanaka、17を変更してみます。

UPDATE sample_table SET name = "Hoshino", age = 46 WHERE id = 102;

テーブルを確認すると、データが更新されているのがわかります。

SELECT * FROM sample_table;

+------+---------+------+
| id   | name    | age  |
+------+---------+------+
|  101 | Kaneko  |   28 |
|  102 | Hoshino |   46 |
|  103 | Sasaki  |   35 |
+------+---------+------+
3 rows in set (0.00 sec)

SQLの疑問を解決「SQL Queries for Interviews / SQL Query Interview Questions and Answers」

「SQLの基本的な使い方から応用的な使い方をサクッと知りたい」

こんな人は”SQL Queries for Interviews”をチェックしてみるといいかもしれません。

海外のサイトですが、初心者と経験者の両者を対象とした一問一答形式でSQLクエリの書き方を教えてくれます。

参考:Top SQL Query Interview Questions and Answers

SQLの練習用サイト「SQL Queries Practice」

SQL Queries for Interviewsと似たようなものに、”SQL Queries Practice”もあります。

これらのサイトは、SQLスキルの向上を目的にSQLの練習ができるサイトです。

練習に必要なテーブル情報が用意され、サイトの質問に答えるように答えのクエリを書いていく方式になっています。

学校の問題集のような感じですね。

参考書を読んで学習するよりも、実践的な形で学習したい人にオススメの練習方法と言えます。

参考:SQL Exercises, Practice, Solution – w3resource
参考:50 SQL Query Questions You Should Practice for Interview

まとめ

SQLのクエリについて解説しました。

クエリはデータベースへ送る命令文、SQLはデータベース操作のための言語です。

クエリのサンプルや練習サイトを活用して、ぜひSQLクエリの使い方をマスターしてください。

ポテパンダの一言メモ

本サイトでも、SQLに関する記事を発信しているのでぜひ参考にしてください!

【関連記事】

▶︎働くエンジニアのためのSQL記事一覧

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。