読者です 読者をやめる 読者になる 読者になる

Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

Sql

よく分かるFROM句の仕組み

Sql

例えば、こういう顧客テーブルを全件取得するSQLがあります。 SELECT * FROM customers 上記のSQLはこうやっても一緒です。 SELECT * FROM (SELECT * FROM customers) テーブルCustomersって要は全件取得した結果集合をFROMに設定してるんだよねっていうこと…

営業事務(マーケ担当)はSQLを覚えるべきだし、2時間で覚えられる。

Sql

qiita.comめっちゃええ話。これはすごく意味がある。細かいツッコミをすれば、上記はSQLを簡単に投げられるようになった話でありSQLを駆使できるようになったわけではないのだけど、そのうち覚えるやろ。弊社では商品企画を担当する社員がおりまして、Excel…

プログラミング未経験者がSQLの習得に挑戦するでござる

実妹と甥っ子が、SQLの習得に挑戦するでござる。 select itemcode, name, lot, price from items where itemcode like '%MA-080%' order by itemcode asc 元々はこんなSQLを書いているのを実妹が見ていて「これなら私でも出来そうだから教えて」と話が来た所…

UNION句を久しぶりに使ったのでメモ

Sql

テストデータを整備するのに、YというテーブルのIDを外部キーとして持っているA〜Dのテーブルのレコードを集めて1つの表にする必要がありました。こういう時はUNIONの出番です。 select zzz.id, zzz.name from ( selct y.id, y.name, from y_table as y joi…

SQLのFROM句はテーブルである必要はございません!

Sql

どうもそのように思っている方が多い気がしたので。FROM句に指定できるのはテーブルそのものではなく、SELECT文を発行した結果でも指定できます。派生テーブルという表現をすることが多いみたい。PostgreSQLのマニュアルでもそんなような事が書いてあります…

MySQLで履歴テーブルの最新を取りたい(Group ByとOrder By)

よくありますよね。履歴テーブルの最新を取りたいってやつ。履歴テーブルを顧客で集計して、その最新の履歴をゲットしたい。こういうやつだ。 select id, user_id, access_path, created from logs where year(created) = 2015 group by user_id order by id…

JOINで複数カラムを同一テーブルで結合したデータを出したい

Sql

注文テーブルに「作成者」「更新者」の2つのカラムがあります。そのテーブルの作成者と更新者にはユーザーテーブルのユーザーIDが入っているものとします。その作成者と更新者の氏名を、注文テーブルに連結して以下の様な一覧を作れないか、と。 作成者ID …

update文にcase句が使えるなんて知らなかった

Sql

いや、これはすごいな。 update books set price = CASE WHEN price < 250 then price * 1.5 ELSE price * 0.9 END; 見ての通りpriceが250円未満なら1.5をかけ、それ以外なら0.9をかけている。自己結合したい場合など、これを使えば結合しなくても良さそう。…

updateのsetでサブクエリ

Sql

サブクエリを使いたい時なんて、「別のテーブルから抽出した値をブチ込む or 条件にする」しかないよね。基本的に。 ちなみにSELECT句でもサブクエリ使えるんだよね。面白いもんです。 ググってもあんまりいいサンプルなかったんで、メモ代わりに書いておきま…