見出し画像

【開始22日目】プログラミング学び日記_Python

 このnoteは、31歳未経験からエンジニアを目指して勉強していく記録を綴っているものです。現在はAdTechでカスタマーサクセスを担当しつつ、色んなチャンスに恵まれ、CS業務や子育てと並行しながらチャレンジしています。

 これからプログラミングを始める方にとってのTipsやモチベアップに繋げられるように頑張りたいと思っています。
--------------------------------------------

 祝日でしたね。皆さん如何お過ごしでしたでしょうか。今日は朝と昼に隙を見てコードの練習やインプットをしつつ、夜にも落ち着いて進めました。明日から出張であまりインプット時間の確保が難しそうですが、変わらず隙を見て学んでいこうと思います。

今日やったこと
・Paizaの問題集(40分)
・基礎からのMySQL(150分)
・本記事の執筆(30分)
合計:220分



学んだこと

 MySQLで様々な形でSELECTを使いました。''や()の使い方で忘れそうなものをメモしていきます。

●WHEREを活用した条件指定において、複数の条件を指定する
 注意点として、ANDとORが混ざっている時はANDが優先して処理されます。そのためORを優先させたい場合は()で囲まなくてはなりません(=優先したい処理を()で囲む)

SELECT * FROM tb WHERE (uria >= 200 OR bang LIKE '%1') AND tuki = 4;
# LIKEはあいまい検索(%はワイルドカード)

●CASE WHENで条件によって値を変えて表示が可能
 Pythonのif文と同じような関数ですが、書き方が若干異なります。また、エイリアス(ユーザーが自由に設定するカラムのニックネーム)を付けないと非常に見づらい形で出力されてくるので注意が必要です。

SELECT bang AS 社員番号, uria AS 売上,
     CASE
         WHEN uria >= 100 THEN '多い'    # THENを忘れない、かつ''で囲む
         WHEN uria >=50 THEN '中くらい'
         ELSE '少ない'
     END AS 評価           # ASでエイリアスを付ける
FROM tb;


●LIMITとOFFSETを活用して表示するレコード数を制御する

 例えば売上の上位から表示したい場合は以下のコードになります。

ORDER BY 売上 DESC;

このうちトップ10だけを表示したい場合は以下です。

ORDER BY 売上 DESC LIMIT 10;

また、トップ11~20を表示したい場合は以下です。

ORDER BY 売上 DESC LIMIT 10 OFFSET 10;

まとめると、以下になります。

SELECT カラム名 FROM テーブル名 LIMIT 表示するレコード数 OFFSET 表示開始レコードのシフト数;

 「表示開始レコードのシフト数」は「XX個移動したところから表示させるか」であり、「本来であれば1番目から表示させるところxx個後の1+XX個目から表示する」という振る舞いのため、Pythonのリストとは少し異なるので要注意です。


以下はPythonでの学びです。
●リストに対してinsert()で位置を指定して要素を追加できる
 UX MILKさんのページを参照しました。append()との違いにも触れられていて分かりやすかったです。

操作対象のリスト.insert(位置, 挿入するオブジェクト)


●偶数を表現したい時は「数字 % 2 == 0」で可能
 
すごく基礎的なことではありますが、急に思いつかないことが多いので備忘録的に記載しました。


明日は移動時間を中心にインプットします!


これまで修了したコース等

【Paiza】
文字列処理メニュー   26/30問(87%完了)
配列活用メニュー    13/26問(50%完了)
Bランクレベルアップメニュー 62/62問
Cランクレベルアップメニュー 30/30問
ランクB合格
ランクC合格

【書籍/ブログ】
京大のPython教科書    116/201頁(58%完了)
基礎からのMySQL     153/514頁(30%完了)
Pythonデータベースプログラミング 62/194頁(32%完了)
Pythonエンジニアファーストブック読了

【Progate】
Python Ⅰ~Ⅴ
Python アプリ版 コースⅠ~Ⅴ
SQL Ⅰ~ Ⅳ
HTML&CSS 初級編

【その他】
VSCodeの環境構築
Anacondaの環境構築
MySQLの環境構築

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