見出し画像

SQL基礎~

■はじめに

今回の記事はいづれほかの人に教えるときのために、基本的なことからまとめていく。
解釈については個人的に理解がしやすいように、かみ砕いていて
細かなニュアンスについては気にしないものとしていますので、ご了承ください。。。

ぜひスキ・フォローをお願いします❗
励みに頑張っています✨

■SQLとは

データベース(エクセル・スプレッドシートの大容量・高速バージョン)を操作する言語でいいと思う。

テーブル=エクセル・スプレッドシートでいうシート
カラム=エクセル・スプレッドシート同様に列(COLUMN)のこと
レコード=エクセル・スプレッドシートでいう行(ROW)

で構成されている。
私、基本勉強の時妄想しながらやるので、今回も妄想しながら、
勉強を進めよう。

■大文字・小文字

大文字と小文字が現れるが、ルールというか慣習に沿って書いている感じ。
予約語(システム上設定されている、SELECTやFROMなど)は大文字で書くのが一般的。
動く動かないではない、美しいか美しくないか。

■SELECT文

データ取得に使うもので、一番使うのでは!?
すごく仮設定だが、予備校のwebマーケ担当で、予備校に来ている学生の分析をすることになったということにしよう。
これまで予備校に通っていた生徒の「名前・合格時年齢・合格した大学」の情報が、下記データベースとして存在する。

画像2

ある日、上司から声が掛かる。

上司「A大に合格した生徒の平均年齢知りたいから、データ取ってきて。
   でも個人情報の関係があるから、年齢と大学名以外いらんから」
私「自分でやれ」

とは言えないので、SQLを叩くとする。

SQLの一番基本的な構文は

SELECT 列名 FROM シート名

何(列)をどこから(シート名)取ってくるか。
をSQLに指示する。

データベースの同じ属性のデータは「列」で管理されているので、
何?とは列のことを指す。
そして、データベースは一つではなく、複数存在し、同じ列名が存在することが多く、データベースにどこの列かを教えなければ、

複数あってわからん!

という風にエラーとなるので、シート名も指定する。
今回の例では以下の通り。

SELECT name,university FROM list

画像2

とデータが取得できるわけだ。

■こんな時どうする?


基本的な構文のちょい足しアレンジ!
※上の仮データベースを基本に考えていく。

🚩全列指定:一部じゃなくて全列のデータを取りたい
構文:
SELECT *(アスタリスク) FROM シート名
今回:SELECT * FROM list

🚩複数列指定:いくつかの列だけ取りたい
構文:SELECT 列名,(カンマ区切り)列名 FROM シート名
今回:SELECT name,university FROM list

🚩カラム名変更:日本語表記で提出したい
構文:SELECT 列名 AS 'つけたい名前' FROM シート名
今回:SELECT university AS '大学名' FROM list

🚩重複削除:合格した大学の一覧が欲しい
構文:SELECT DISTINCT(列名) FROM シート名
今回:SELECT DISTINCT(university) FROM list
⇒今回のリストだと合格者などが一覧になったデータベースなので、同じ大学名が存在する。何校合格者を輩出しているのかなどの時に使える

🚩行数の上限を指定:上から3行を取得したい
構文:SELECT 列名 FROM シート名 LIMIT 上限数
今回:SELECT * FROM list LIMIT 3 

※指定した位置から●●行と取りたい場合はOFFSETを用いるか、
 開始位置,行数と記載する

例:3行目から2行を取得したい場合
OFFSET:SELECT * FROM list LIMIT 2 OFFSET 2
OFFSET使わない: 
SELECT * FROM list LIMIT 2 , 2 
※OFFSETや開始位置に指定する数値までをスキップするので、
 3行目から欲しい場合は、「2」を入れます。

🚩並び替え:年齢を降順に並び替えたい
構文:SELECT 列名 FROM シート名
   ORDER BY 列名 DESC
今回:SELECT name FROM list ORDER BY age DESC
※昇順の場合は 最後のDESCを取る

というあたりで、眠くなったので、
次回WHERE句から始めよう。そうしよう。

■関連記事

【SQL関連】
・いつの間にかタイプワイルド

【エクセル・GAS関連】
・つまため第1話 
・つまため第2話 
・つまため第3話 
・つまため第4話
・つまため第5話
・つまため第6話
・【GAS/スプレッドシート/カレンダー】シフト登録&更新が面倒なので、自動化するついでに、HTMLを使ってダイアログをオリジナルで作成する件

【RPA関連】
・RPAどうなん?(営業部門)
・RPAつまづいたシリーズ①
・RPAって?信じていいの!?導入したら効果でる??RPA開発者が徹底分析!

【WEB広告関連】
・クリ調べ第1話
・クリ調べ第2話
・ど素人、マーケターへの道~Googleアナリティクス編【第1話】~
・ど素人、マーケターへの道~Googleアナリティクス編【第2話】~
・ど素人、マーケターへの道~Googleアナリティクス編【第3話】~


【投稿者の人となり関連】
・アトピー奮闘記
・ポケットに入れてたiphoneが勝手に写真を開いていたので、思い出トラベルする件~客室露天風呂は正義~

いいなと思ったら応援しよう!