Beyond The Limit

はじまりは2001年

SQL学び直し6

第四章:データの更新

4-2:データの削除(DELETE文の使い方)

  • DELETE文は行を削除、TRUNCATE文はテーブル全行を削除
    • `DELTE FROM テーブル名`よりも`TRUNCATE テーブル名`の方が処理が高速である

4-3:データの更新(UPDATE文の使い方)

  • UPDATE文を使えば、制約に引っかからない場合はNULLへ更新することも可能
  • `UPDATE テーブル名 SET 更新内容1,更新内容2...`とすることで、複数列の更新も可能、カンマで区切る
  • `UPDATE テーブル名 SET (更新列名1,更新列名2)=(更新データ1,更新データ2)...`とすることで、複数列の更新も可能、カンマと括弧使う


やっぱりUSキーボードよりJISキーボードの方が使いやすい。
慣れの問題もあるんだろうけど、使い慣れたモノを使うのが一番だと思う。

自宅の環境としては、

  • デスクトップのWin10(Win8Win8.1→Win10へアップグレード)
  • ノートのMacBookPro
  • 液晶2台+MacBookProで3面モニター

という無駄に変な環境なので、次期iMacが出たらiMacと液晶1台にして、WinはParalellsとかでまとめたいなぁ。
って夢をメモしておきます。

今日はここまで。

SQL学び直し5

第四章:データの更新

4-1:データの登録(INSERT文の使い方)

  • CREATE TABLE文でテーブルを作る際に"DEFAULT 値"でデフォルト値を決めておける
    • INSERT文を使う際は"DEFAULT"と入力することでデフォルト値が入る、明示的にDEFAULTを入れた方が良い
  • INSERT INTO テーブルA...SELECT FROM テーブルB文でテーブルBのデータをテーブルAにコピーすることができる
    • このSELECT文にはwhereやgoup byなどの条件も付与できる、ただしorder byは使っても意味が無い

今日はここまで。

SQL学び直し3

第三章:集約と並べ替え

3-3:集約した結果に条件を指定する

  • group byの後にhavingは書ける、whereは行に対する条件、havingはグループに対する条件を記述する
  • havingに記述できるのは、定数、集約関数、group byで指定した列名
  • whereでもhavingでもどちらでも結果が同じ場合があるかもしれないが、行に対する条件指定かグループに対する条件指定かを考えてSQLを組むべき


今日はここまで。

SQL学び直し2

第三章:集約と並べ替え

3-1:テーブルを集約して検索する

  • 集約関数は基本的にNULLを除外して集計する、ただしcount(*)のみNULLを含んだ全行を数える、count(カラム名)だとNULLが除外される
    • COUNTはレコード数を数える、SUMはデータの合計を返す
    • SUM/AVGの内訳はNULL値を除外して計算される、AVGに関しては分母からNULL値の行数が引かれて平均が計算される
    • countとdistinctを併用する場合はcount(distinct カラム名)となる、括弧内の処理が先に行われるため

3-2:テーブルをグループに切り分ける

  • group byとcountの組み合わせで分類ごとの行数(NULL含)が集計できる
  • from (where) group byという並びにしないといけない
  • NULLもグルーピングされる
  • group byを使う時はグルーピングするカラム、集約関数、定数以外はselect句に入れられない
  • group byを使う時はgroup by句に別名(as〜)は使えない(出来たとしても標準外なのでよくない)
  • group byは結果をソートしない、ランダムに出力する
  • whereの条件に集約関数(count、sum他)は使えない


今日はここまで。

SQL学び直し

改めて基礎からSQLを勉強し直そうと思ったので、土曜日にKindleでこの本を買ってみた。
今の所2章まで終わった感じ。

SQL ゼロからはじめるデータベース操作

SQL ゼロからはじめるデータベース操作

USキーボードとJISキーボードを行ったり来たりしていると使いづらい

第二章:検索の基本

2-1:SELECT文の基本

  • 重複を削除する:DISTINCT、カラム名の前に付ける
    • DISTINCT カラム名1,カラム名2 → カラム名1,2を組み合わせても重複する行が1つにまとめられる
      • カラム名1で重複あり、カラム名2で重複がない場合は全て表示される(→重複が排除されない)
    • DISTINCTは先頭のカラム名の前にしか置けない。
    • NULLも重複を1つにまとめられてしまう
  • 条件指定のwhere
    • FROMの直後に記述しないといけない、決まっている
  • SQL文中にもコメントを残せる
    • 一行コメントと複数行コメントの2種類がある、注意事項などあれば記述しておく
    • 一行コメントはハイフンを2つ並べる、#ではないので注意
    • 複数コメントは/* */の中に記述する、コメント記述中はプロンプトの=が*に変わる

2-2:算術演算子と比較演算子

  • 計算式にNULLが含まれると、結果の値は全てNULLになる。当然だがゼロではない。
  • 比較演算子の=は必ず右側、<=または>=
  • 等しくない場合は<>を使う、!=は標準SQLで認められていないので使わない方が安全。使ってたから気をつけよう。

2-3:論理演算子

  • ANDは両辺が成り立つときに成立、ORは両辺の片方または両辺の検索条件が成り立てば成立
  • SQLの論理演算は真・偽・不明(Unknown)の3種類がある
  • NOT
    • where NOT カラム名 >= 100 と where カラム名 < 100 は一緒、<=ではないので注意、以上と未満の関係
  • ANDとORと()
    • where 条件A AND 条件B の条件Aと条件Bが成り立つものを返す
    • where 条件A OR 条件B の条件Aまたは条件Bまたは条件AとB両方が成り立つものを返す
    • 必要に応じて()を使用して条件の優先度を組み合わせる {where 条件A AND (条件B OR 条件C)}
      • ANDはORより先に優先される、ORを優先したい場合は()を使う、条件Bまたは条件Cを満たしてかつ条件Aを満たすものが返される
      • 真理表も参照

二週間が経ちました

転職してから二週間が経ちました。
とても忙しく、やることもたくさんあり、学ぶこともたくさんありという状況が続いています。

日々思うのは、過去にやっていたこと、やったことの何かしらの経験が活きているということ。
どちらかというと、いわゆるWEB開発エンジニア的な仕事はほとんどしてこなくて運用系や業務や管理系の仕事が多かったのですが、それはそれで今に役立っています。

かつて2年ばかり今とは全く異なる分野で営業をしていたことがあるのですが、やはりそれもなんだかんだで今の仕事に活きています。

 

結局の所、経験が活きるかどうかというより、過去の経験を意識的に今の仕事にスライド出来るかどうかが重要なのかなと思います。
その都度その都度、できることは全力で頑張って、どうしようもないと思ったら(腐ってしまう前に)環境を変えるべく転職活動をしていたのですが、その都度自分なりにでも全力で頑張ってきたからこそかなと最近考えることが多いです。

 

ただ今の環境においては、自分に足りないものが結構多いので、それを早く埋められるように、補強できるように頑張っています。

 

引き続き、やれることをやれる範囲+アルファで頑張りたい。

 

 

個人的にこれおすすめです


PENDENTIF - &quot;Embrasse Moi&quot; (official video) - YouTube

はてなに入社しました

日付は変わりましたが、火曜日が入社日でした。

今までの人生において、公私ともに迷った時はチャレンジングな選択肢や色んな意味で積極的な選択肢を選び続けてきました。

その選択肢は短期・局所で見たときには失敗だとしても、結果的に今があるなら悪くない選択肢だったように思います。

むしろ今まで溜め込んだ運を全て出し切っちゃったんじゃないかと心配しています。

 

はてなでの職務は今までの経験をそのままスライドしたものではなく、ちょこっとちょこっと色んな経験をつなぎ合わせるからこそ、なせる仕事のように感じています。

「私の前に道はなく、これから切り開いて進んだ足跡が道になる。

でも一人で開拓するわけではなく、素晴らしい上司と仲間と一緒に。」

という心持ちです。

 

そんなこんなで、自分にとっては創業時の頃から名前を知っていた、憧れの会社に入社しました。

これからも頑張ります!

 

 

ちなみにエンジニア・ビジネス職ともに絶賛募集中とのことでした、ご興味ある方はぜひご応募を!

hatenacorp.jp

会社を辞めた話

2年ほど勤めた会社を辞めました。

企画職というポジションで、会社が提供しているWEBサービスのシステム企画的な仕事を担当し、時にはセールスエンジニア的な動きを、時にはCS・営業を裏側で支えたり、企画としてシステムやサービスの仕様を決めたりメルマガを書いて加入者を増やす仕事をしたり。
いわゆるSEであったり、企画職であったり、そういう枠に縛られずに色々なことに携われたそんな2年でした。

 

この会社にいて良かったことはいくつかあるのだけど、この時代には珍しい社員旅行があったことがとても思い出深いのです。
社員旅行が実施されるには色々と条件があるのですが、運良くタイミングが合って2年前に入社する時に沖縄へ連れてってもらえて、その時の出来事や観光したものは今でも大事な思い出です。

年齢が近い人が多かったのだけど、だからこそ腹を割って話すこともありつつ、仕事上でぶつかることもありつつ。
2年間全力で頑張れたのはそういう仲間がいたからこそでした。

そんなわけで、1週間ほど有給を消化して新しい所で頑張ります。
今日から大阪に滞在するので、せっかくだから京都の寺社仏閣でも回ってみようかなと考え中。
昔はそうでもなかったけど、最近になってそういうのを観光するのもありかなと思うようになりました。
歳とったから良さが分かってきたのかなと思いつつ、年齢を感じる今日この頃です。

何の為に働くのか

来週いっぱいで会社を去ることになり、引継ぎ行いつつ、ドキュメントをまとめつつ、ぼちぼち業務にいそしんでいます。

今の会社に入る前に人生の一大決心をして、その結果が芳しく無く、今の会社に入って来月で辞めて新しい会社へ入る。
振り返ってみると、まるで本当にジェットコースターのような2年でした。

 

この2年でよく考えたのは、何の為に働くのかということ。
かつて勤めた会社で社長が「会社は人生の中でもたくさんの時間を過ごす場所だから、楽しく働いて欲しい」と言っていたことをよく思い出します。
1日の3分の1、人によってはそれ以上の時間を会社で過ごすことになりますが、そんな1日の大半、人生の中でもたくさんの時間を過ごす会社で楽しくするにはどうすればいいか。

そもそも楽しく働くとは何か・・・。

答えが出る、答えを出すことが解決でも全てでもないけど、少なくとも一緒に働く人達とは楽しくやっていきたいなと思う日々です。
助け合い大事!