STUDY MEMO

勉強した内容をアウトプットしていきます。

<SQL> 基礎

SQLはデータベース言語のこと。
f:id:kabacho23:20200904220029p:plain:w400
データベースはテーブルで管理されている。
テーブルは以下の構造で作成されている。

f:id:kabacho23:20200904223731p:plain

基本のSQL

基本的には以下の構文になる。

SELECT カラム名
FROM テーブル名
WHERE カラム名 = ○○;
//(WHERE NOT カラム名 = ○○)
//(WHERE カラム名 IS NULL;)
//(WHERE カラム名 IS NOT NULL;)
//(WHERE カラム名 IN ('', '', ... ;)


SELECT:
どのカラムデータを取得するかを選択。
全てのカラムを取得するときは*(アスタリスク)、
任意の複数のカラムを取得するときはカラム名の間に,(カンマ)を入れる。

FROM:
どのテーブルからデータを取得するかを選択。

WHERE:
カラム名が○○であるレコードを取得。
比較演算子(<=等)を入れて条件に当てはまるレコードを探すこともできる。

NOT:
カラム名が○○でないレコードを取得。

IS NULL:
WHERE文で使用すると、空欄のレコードを検索。

IS NOT NULL:
WHERE文で使用すると、空欄ではないレコードを検索。

IN:
値のリストに含まれているレコードを検索

LIKE演算子

ある文字列を含むデータを取得したいときにWHERE文と共に使用する。

SELECT カラム名
FROM テーブル名
WHERE カラム名 LIKE 文字列;


LIKE演算子では%をワイルドカード(どんな文字列にも一致するという意味の記号)として扱う。 そのため、likeのあとの文字列を%で囲むとその文字列を含む文字列を検索できる。
%を前につけると、その文字列で終わる文字列、
後につけるとその文字列で始まる文字列を検索できる。

<例>

SELECT *
FROM foods
WHERE name LIKE  "%マ%";


結果

f:id:kabacho23:20200904224516p:plain

AND演算子、OR演算子

AND演算子は、WHERE文の中で使用することで複数の条件に一致する情報を取得。
AND演算子は、WHERE文の中で使用することで一つでも一致する情報を取得。

ORDER BYを使用した降順、昇順の並び替え

ORDER BYを使用することでデータの並び替えができる。
降順

ORDER BY 並び替えるカラム DESC;


昇順

ORDER BY 並び替えるカラム ASC;



LIMIT

最大で何件取得するかを設定できる。

SELECT *
FROM テーブル名
WHERE 条件
LIMIT 表示件数;