見出し画像

MySQL SELECT文の注意ポイント(Mac)

個人的に学んだ上で、
テキストになかった気をつけるべきポイントをまとめまておきます。


【使用環境】OS:Mac


SELECT文の基本構成


「  SELECT 列名 FROM 表名  」

これを基本として、その他データ抽出する条件を付け加えていく。


【構成順】

  • SELECT 列名  ※表示したい列名

  • FROM 表名  ※どの表から抽出したいのか

  • WHERE 抽出する表に対する条件  ※抽出する表の条件

  • GROUP BY  列名  ※その列値ごとに集約するのか
    (SELECT分にてGROUP関数を使った場合)

  • HAVING 抽出する数値の条件 ※GROUP関数で設定した数値への条件
    (WHERE文も抽出条件の設定だが、
    こちらはGROUP関数への設定というところがポイント!!)

  • ORDER BY 列名  ※どの列の値で昇降順設定したいか


この順に入力しなかった場合適用しない。

テキストには、抽出したい表から
一部値が含まれるものを除く場合のコマンドがわからなかった。

一番複雑なコマンドで、使い方を覚えよう!


【例】

データベースに接続し、EMP表からJOB列がANALYST以外の行をDEPTO列ごとにグループ化し(DEPTNOごとの)、SAL列の最大値が3500以上かSAL列の合計値が7500以上のグループを対象にSAL列の合計値の順にDEPTNO列とSAM(SAL)を表示してください。

mysql> 
SELECT deptno,SUM(sal) 
FROM emp 
WHERE job <> 'ANALYST'  
group by deptno 
having MAX(sal) >= 3500 or SUM(sal) >=7500 order by deptno;

+--------+----------+
| deptno | SUM(sal) |
+--------+----------+
|     10 |     6300 |
|     20 |     7900 |
+--------+----------+
2 rows in set (0.02 sec)

※分かりやすくなるよう改行してます

そもそも言葉でも複雑だけど、
ひとつひとつの文に
希望の値を入れていけば大丈夫!!


この記事が気に入ったらサポートをしてみませんか?