これはなに
こちらは非エンジニアでセールス職の僕がSQLを使いこなせるようになる(絶賛勉強中です)までの過程を備忘録的に記録するものです。
非エンジニアだけどSQLを使えるようになりたい!もしくはこれからエンジニアになるために1からインプットしたい!という方は僕と一緒に頑張りましょう🙌
この記事は僕がSQLを学ぶにあたり一番最初にインプットした基礎知識についてまとめさせていただきました。
とっっっても初学者的な情報となりますが、非エンジニアがエンジニアリングに奮闘する様を応援してやってください・・!
少しだけ自己紹介
Qiita株式会社にて企画営業を担当しております。
SQLの勉強はQiita記事や社内の勉強会資料、コードを書く部分についてはProgateを使わせていただいています。
最近の楽しみはポケモン(スカーレット)です!
相棒はなんかほっとけなかったのでホゲータを選びました。
それでは本題に入っていきます!
SQLとは?
データベース(テキスト、数値などの情報を保存するためのツール)から情報を活用するための言語です。
データベースの仕組み
データベースとは下の図(ポケモン図鑑SV:zukansv)のような表でデータを管理しています。
表のことをテーブル
と呼び、縦の列のことをカラム
、横の行のことをレコード
と呼びます。
id | name | type1 | type2 |
---|---|---|---|
1 | ニャオハ | くさ | - |
2 | ニャローテ | くさ | - |
3 | マスカーニャ | くさ | あく |
4 | ホゲータ | ほのお | - |
また、データベースでは、必要に応じて複数のテーブルを作成することが可能です。
例:ポケモンを管理するモンスターテーブル、道具を管理する道具テーブルなど
クエリについて
データベースにある情報を活用するにはクエリ
を使います。
データベースへ送る命令=クエリです。
以下を使ってクエリを書いていきます!
SELECT
データベースから、特定のデータを取得するためにはSELECT
を用います。
文字通りこのSELECT
を用いて、「どのカラムのデータを取得するか」を選びます。
例:ポケモンの名前を抽出するとき
SELECT name
FROM
データベースには複数のテーブルが存在する場合があります。
そのため、FROM
を用いて、SELECT
で選んだカラムが「どのテーブルのカラムか」を指定する必要があります。
例:SVのポケモンの名前を抽出するとき
SELECT name
FROM zukansv
複数のカラムからデータを取得するとき
以下の通り、カラム名をコンマ(,)で区切ることで複数選択できます。
全てのカラムのデータを取得する場合は(*)を使うことで全選択ができます。
SELECT id,name
SELECT *
特定のデータを取得するとき
どこのという意味である「WHERE」を使います。
※SELECT、FROMにてどのテーブルの、どのカラムかは指定されている状態のため、WEHREではレコードの情報を取得できます。
WHERE type1 = ○○
データ型
データベース内にてテキスト、日付、数値データなどを見分けるための「データの種類を見分けるルール」です
テキスト、日付にはクオーテーションマーク(" ")
をつかいます。
※数値データには" "
を付けてはいけないため注意
例、ポケモン図鑑SVの中からくさタイプを取得する
SELECT *
FROM zukansv
WHERE type1 = 'くさ'
比較演算子
WHEREの条件では「=」の他に比較演算子(大小比較の企業)を利用することもできます 。
< (より小さい)
<= (以下)
> (より大きい)
>= (以上)
LIKE演算子
特定の文字を含むカラムからデータを抽出する際には~のようなという意味をもつ「LIKE」を使います。
ワイルドカード
「ワイルドカード」とは、どんな文字列にも一致することを指す記号を指します。
LIKE演算子では%
をワイルドカードとして使用します。
%○○%(部分一致)
例:%コイル% → コイル〇、レアコイル〇、ジバコイル〇
○○%(前方一致)
例:レジ% → レジスチル〇、レジアイス〇、レジロック〇、電子レジスター×
%○○(後方一致)
例:%コイル → コイル〇、レアコイル〇、ジバコイル〇、コイル材×
NOT演算子
○○に一致しない、○○を含まないといった条件でデータを取得する際は「NOT」を使います。
例:名前にコイルを含まない
WEHRE NOT name LIKE %コイル%
AND演算子
WHERE 条件1 AND 条件2
WHERE以降の条件をともに満たすデータを抽出します
WHERE name = 'ニャオハ'
AND type1 = 'くさ'
OR演算子
WHERE 条件1 OR 条件2
WHERE以降の条件のいずれかを満たすデータを抽出します
WHERE name = 'ニャオハ'
OR name = 'ニャローテ'
まとめ
上記はSQLを書くための基礎なので、しっかりと覚えて今後の学習に役立てていきたいです。
引き続き備忘録的にアウトプットしていきますので優しく見守っていただけると嬉しいです!
※もし誤りがあればご指摘いただけると嬉しいです