未経験Javaエンジニア転職の記録

20代転職未経験エンジニア

28日目 サーブレット SQL

連休中にやった課題を提出し、その直しの作業をこなした。
サーブレットを呼び出すたびに初期化をしたくないので、フィールドに宣言をしたが、サーブレットではフィールドを使った値の保持はしないらしい。

代わりにセッションスコープを使っていく値を繰り返し使っていく感じ。

JSP側でも、getAttributeでnullチェックをする様に、サーブレットのセッションスコープ仕様の際もnullチェックをする。

理解してしまえばなんてことないが、やっている時は必死だ。

それとSQLについても学んだので、まとめておく。

複合主キー
複数のカラムのセットを主キーとする。
PRIMARY KEY(カラム1,カラム2,....)

重複データの取得
GROUP BY カラム HAVING カラム…
グループ化してまとめた後、個数や合計値などで更に分類できる。

レコードの有無の判別
SLECT EXISTS(SELECT *FROM ~)
逆はNOT EXISTS~

インラインビュー
FROM句で副問合せをすることで、その結果をviewとして扱える。略称も付けられる。

四捨五入
ROUND(パラ1,パラ2)
パラ1:処理したい値
パラ2:どこで四捨五入するか。省略した場合は少数第一位。1で2位、-1だと整数部の1桁目。

偶数奇数判定
MOD(パラ, 2) =0 なら偶数。 ~=1なら奇数。
第2引数で割り算をし、あまりを求める関数。

結果に番号を振る
ROW_NUMBER() OVER(ORDER BY句など)AS付けたいカラム名

CHAR 型とVARCHAR2型の等価判定
TRIM(CHAR型) = VARCHAR2型
CHAR型は固定長なので、不足分には自動的に空白が入るためTRIMする必要かある。

SQLでの条件分岐
~ CASE WHEN 条件 THEN TRUEの時に出したい値
ELSE 不一致の時に出したい値 END