6月1日 -SQL基礎勉強-

1.今日の目標

 SQLの基礎勉強を進める

 

2.結果・感想

 SQLの基礎的な部分は簡単。サブクエリ(副問い合わせ)が出てきた辺りから難易度アップした。

 

3.学んだことの書き出し

PHP基礎2

select distinct(カラム名) from テーブル名;

指定カラムのデータから重複するデータを省いて取り出す

select カラム名 四則演算 カラム名 from テーブル名;

指定カラムのデータに足し算や掛け算をした値を取り出せる

select sum(カラム名) from テーブル名 where 条件文;

指定カラムのデータを全て合計した値を取り出す(whereで条件文を追加できる)

select avg(カラム名) from テーブル名 where 条件文;

指定したカラムの値の平均を求める

select count(*) from テーブル名 where 条件文;

検索したレコードの数を計算する

select max(カラム名) from テーブル名 where 条件文;

select max(カラム名) from テーブル名 where 条件文;

maxは最大値、minは最小値を取り出す

select 取り出すカラム名(複数可) from テーブル名 group by グループ化したいカラム名;

同一のデータを持つレコード同士がグループになる

group byを使う場合、select文で扱えるのはgroup byに指定しているカラムと集計関数のみ

group byに複数カラムを指定すると組み合わせの数だけグループができる

group byとwhere文を一緒に書く場合、group byを後に書く

group by カラム名 having 条件;

グループ化したデータをさらに絞り込める

whereの条件指定はテーブル全体、havingはグループ化されたデータに条件指定

havingを使う場合はグループ化済みのカラムを指定

 

SQLの実行順序(上から下)

from(テーブル指定)

on,join(テーブルの結合)

where(条件指定)

group by(グループ化)

count,sum,avg,minなど(関数)

having(集計後の絞り込み)

select,distinct(検索)

order by(並べ替え)

limit(取得件数の指定)

 

 PHPの基礎3

 サブクエリ(副問い合わせ)はSQLの中に入れ子で()で囲みSQL文を指定する。;は不要

サブクエリの実行後に外側のSQLが実行される

カラム名 as "表示名"

カラム名を指定した表示名で表示する

外部キーと主キーを利用して複数テーブルを紐づける

select カラム名 from テーブルA join テーブルB on テーブルA.外部キーのカラム名 = テーブルB.主キーのカラム名;

joinは外部キーがNULLのレコードは取得しない

select カラム名 from テーブル名 left join テーブル名 on テーブル名.外部キー = テーブル名.主キー;

left joinを使うと外部キーがNULLでもNULLのまま取り出せる

select from join on left join on join onと何度でも結合可能

 

 

 

 

4.明日の課題

progateのSQL編を終わらせる。

 

5.参考URL

【SQL】実行の順序 - Qiita

 

6.今後やりたいこと・高めたいスキル・優先順位

SQLPHP、説明図作成、30DAYSトライアル、JQuory、Wordpressはてなブログの機能、アルゴリズムSEO、PerfectPixel、線形代数(詳細ではなく全体の流れ)