3
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

【SQL】SELECT, FROM, WHERE

はじめに

いつもは主にSwiftの投稿をしている自分ですが、ふとデータベースを学びたいと思い、SQLを触ってみることにしました。
今回はSQLの基本をまとめていきたいと思います!
また、注意点としまして、今後扱うデータベースはリレーショナルデータベース(RDB)と言われるものです。ですので、今後の自分の記事で特に断りなく、DBやデータベースと表記されていましたらリレーショナルデータベース(RDB)だと考えてください。このデータベースは、表でデータを管理するような仕組みになっています。

SQLとは

データベースを扱うための言語で、データ分析などに使われる。

DB

DB(データベース)が何かを理解する必要があります。
DBの仕組みを簡単に説明しますと、DBは以下のような表(テーブル)でデータを管理しています。

学籍番号 名前 出身
1 明石家 和歌山
2 大西 三重
3 浜田 兵庫
4 松本 兵庫

行(横)のことをレコード、列(縦)のことをカラムと言います。

クエリ

クエリとは、DBに送る命令のことで、SQLはこれを書くための言語です。

ScreenShot 2021-05-21 2.19.45.png

クエリを書く

SELECT

データを取得するために、「SELECT」を使います。このクエリを用いると、どのカラムのデータを取得するかを指定できます。
name列を取得するクエリを記述してみます。

SELECT name

ScreenShot 2021-05-21 2.34.51.png

FROM

SELECTで選んだカラムがどのテーブルのものかを指定するために、「FROM」を使います。

SELECT name
FROM users

ScreenShot 2021-05-21 2.40.32.png

最後に、記述をし終わったクエリにはセミコロンをつけます。(Swiftにはないから忘れそう。。。)

SELECT name
FROM users;

また、SQLでは大文字と小文字の区別はないので、小文字で記述しても構いません。

複数カラムを取得

カラムを複数取得する際に、一つ一つSELECTで指定する必要はなく、まとめて指定できます。

SELECT name, birthplace
FROM users;

ScreenShot 2021-05-21 2.48.46.png

また、全てのカラムを取得する場合、先ほどのようにコンマで全て取得しても良いのですが、100カラム全てを取得するとなったときに対応しきれないので、省略記号「*」が用意されています。

SELECT *
FROM users;

ScreenShot 2021-05-21 2.52.12.png

WHERE

条件に合うものだけを取得したいときに使うクエリです。
「WHERE」は行(レコード)を指定します。

SELECT *
FROM users
WHERE birthplace = "兵庫";

このようにすることで、birthplaceが兵庫であるレコードを取得することができます。
また、今回のようにテキストを指定するときはダブルクオーテーションマーク「"」で指定する必要があることに注意が必要です。
しかし、numberカラムのような数値を指定するときにはダブルクオーテーションマークで囲む必要はありません。

ScreenShot 2021-05-21 2.58.07.png

さらに、WHEREには比較演算子を用いることもできます。比較演算子はご存知だと思いますので、説明しませんが、以下のようにすることでnumberが2以上のレコードを取得できます。

SELECT *
FROM users
WHERE number >= 2;

ScreenShot 2021-05-21 3.07.55.png

おわりに

今後はDB周りの投稿もしていきたいと思います!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
3
Help us understand the problem. What are the problem?