select文の実行順序と記述方法についてご紹介していきます
select文の記述順序
select文の記述の順番を紹介
- select・・・取得するカラム名を指定する
- from・・・データを取得するテーブル名を指定する
- join・・・テーブル結合
- where・・・データを取得する条件の指定する
- group by・・・取得するデータのグループ化の条件を指定する
- having・・・グループ化したデータに対してさらに条件を指定する
- order by・・・並び替えの条件を指定する
- limit・・・取得する行数を指定する
select文の実行順序
実行順序を紹介していきます
- from・・・データを取得するテーブル名を指定する
- join・・・テーブル結合
- where・・・データを取得する条件の指定する
- group by・・・取得するデータのグループ化の条件を指定する
- having・・・グループ化したデータに対してさらに条件を指定する
- select・・・取得するカラム名を指定する
- order by・・・並び替えの条件を指定する
- limit・・・取得する行数を指定する
whereとhavingの違い
whereとhavingはどちらもデータを取得する条件を指定することができる。
例えば下記の記述は同じ動作をする
whereで条件を指定
select * from users where id = 1;
havingで条件を指定
select * from users having id =1;
コードの見方
実行結果はどちらもusersテーブルからidが1のデータを取得
havingはwhereよりも実行される順序が遅いため、group byを使用する際にグループ化したデータに対してさらに条件を付けてデータを取得することができる。