【先輩と後輩】SQL講義【その1】

唐突に始めた『基本的なSQL』についての話。先輩と後輩の掛け合いで話が進みます。
3
レポライターBarque @repo_baq

@sousakuTL 【講義】「時に先輩」「どうした後輩」「SQL教えてください」「突然だね」「業務で勉強してきてねって言われて」「ふむふむ」「あちこちサイト見て回ったんですけど、どこもイマイチでした。やりたいことズバリ書いてあるんですが、ズバリ過ぎて応用できないんです」

2014-04-23 07:59:21
レポライターBarque @repo_baq

@sousakuTL 【講義】「ズバリすぎるってどんな風に?」「関数の使い方とか結果とかはバッチリなんですが、それをどうSQLに書くのかなって。使えたり使えなかったりしますし」「あー、なるほどねぇ。リファレンスというか、そんなの見たのか」「はい」「ふむ」

2014-04-23 08:01:45
レポライターBarque @repo_baq

@sousakuTL 【講義】「もうちょっと、こー。感覚的に掴みたいと言いますか」「説明を理解したいけど、その説明も専門用語ありき?」「です」「まあ、リファレンスってわかってる人向けだからねぇ」

2014-04-23 08:03:39
レポライターBarque @repo_baq

@sousakuTL 【講義】「時に後輩」「?」「確かラーメン好きだったね」「はい」「お店のリストとか作ってる?」「基本脳内です」「OK了解」「ラーメンとSQLにどんな関係があるんです?」「大いにある。まぁ待ちたまえよ」

2014-04-23 08:06:01
レポライターBarque @repo_baq

@sousakuTL 【講義】(先輩、エクセルで表を作成。印刷して後輩に渡す)「ほい」「なんですかコレ」「表だよ」「表ですね。何の表ですか?」「ラーメン屋情報を書き込む表だよ」「店名、住所、メニュー名、値段、ベースと。店ごとのメニュー表ですね」「うむ」

2014-04-23 08:09:04
レポライターBarque @repo_baq

@sousakuTL 【講義】「1店舗あたり3メニューくらいで良いかな。それを3店舗分書いておいで。なんだったらエクセル渡すけど」「あ、エクセルください」「はいよ。メール出しとく」「はーい」「まぁ休憩時間で良いから埋めておいてよ」「はーい」「埋めてから説明する」「了解です」

2014-04-23 08:15:20
レポライターBarque @repo_baq

@sousakuTL 【講義】(定時後)「埋めました」「早いな!?」「(どやっ)」「あー、うん。早いのは良いことだ。じゃあざっくり説明しようかね」「はーい」

2014-04-23 08:19:18
レポライターBarque @repo_baq

@sousakuTL 【講義】「じゃあまずSQLそのものについて」「はい」「たくさんある情報の中から本当に欲しいもののみをすっこ抜くための呪文です」「!?」「専門用語たっぷりの難しい説明はそういう場所に任せる」「ハイ」「で、君に書いてもらったのがすっこ抜くための元ネタね」

2014-04-23 08:25:59
レポライターBarque @repo_baq

@sousakuTL 【講義】「ふむふむ」「SQLではあの表を『テーブル』、表の中の1行1行を『レコード』と呼ぶ」「ふむふむ」「まあデータぎっしりの一覧がテーブルみたいなもんかね」「あ、じゃあ先輩。ちょっと聞いて良いです?」「なんだい?」

2014-04-23 08:29:40
レポライターBarque @repo_baq

@sousakuTL 【講義】「例えばなんですけど。レストランの待ち名簿ってあるじゃないですか」「あるねぇ」「あれもテーブルです?」「おぉ。そうくるか。そうだね、あれもテーブルだね」「じゃあ待ってるグループ1コが1レコードと」「その通り。理解早いな」「(どやぁ)」

2014-04-23 08:33:15
レポライターBarque @repo_baq

@sousakuTL 【講義】「よし話を戻そう」「はい」

2014-04-23 08:44:39
レポライターBarque @repo_baq

@sousakuTL 【講義】「君の作ってくれたテーブル、そうだなぁ…『メニュー一覧』とでも名付けようか。このメニュー一覧を使って、実際にデータをすっこ抜く練習をしてみよう」「10行弱しかないんですが」「練習には十分だ」

2014-04-23 12:13:57
レポライターBarque @repo_baq

@sousakuTL 【講義】「じゃあ今回はベースがみそのメニュー名と値段、置いてある店の名前をすっこ抜く呪文を唱えてもらおうかと思う」「先輩が唱えるんじゃないですか」「後輩よ、君が唱えず誰が唱える?」「まずは先達のお手本をですね」「実践あるのみだ」「容赦ないなあ」

2014-04-23 21:18:36
レポライターBarque @repo_baq

@sousakuTL 【講義】「呪文を唱える前には呪文を組み立てる必要がある」「まさかそこから慣れろと」「安心したまえ、今回は口頭で何を書けば良いか指示してあげるから」「はーい」

2014-04-23 21:21:11
レポライターBarque @repo_baq

@sousakuTL 【講義】「じゃあ呪文を書く前に簡単に説明しようか。基本のSQLはざっくり3つのブロックで構成される」「ふむふむ」「まず最初に、テーブルからどの列が欲しいのか宣言する『SELECT』。最初に『SELECT』って書いて、その後に欲しい列の名前を並べていく」

2014-04-23 21:21:43
レポライターBarque @repo_baq

@sousakuTL 【講義】「今回すっこ抜きたいのは何だったかな、後輩」「えーと、ベースがみそのメニュー名とお店の名前ですね」「そう」「えーと。じゃあまずはSELECT、と(後輩、エディタを開いて打ち込む)」

2014-04-23 21:25:20
レポライターBarque @repo_baq

@sousakuTL 【講義】「列名ってずらずら繋げて書くんですか?」「んーん。SELECTの後に半角スペースをひとつ、列名と列名の間は半角カンマで区切る」「なるほど」「全部の列が欲しい!って時は列名を並べずに半角アスタリスク『*』でも大丈夫。スペースは忘れるなよ」「はーい」

2014-04-23 21:25:46
レポライターBarque @repo_baq

@sousakuTL 【講義】(後輩、『SELECT』の後に『 店名,メニュー名』と打ち込む)

2014-04-23 21:58:17
レポライターBarque @repo_baq

@sousakuTL 【講義】「欲しい列名が書けたら、最後の列名の後ろに半角スペース」「はい」(書いたテキストは『SELECT 店名,メニュー名 』になる)

2014-04-23 22:00:12
レポライターBarque @repo_baq

@sousakuTL 【講義】「じゃあ次。さっき書いた列はどのテーブルから取るのか宣言する『FROM句』だ」「どこから来たの、ここから来たの。ですね」「まあ間違いじゃないな」「あいむふろむじゃぱーん」「だいたいそんな感じ」

2014-04-23 22:01:04
レポライターBarque @repo_baq

@sousakuTL 【講義】「さっきのSELECTと同じ感覚で、まず『FROM』。その後に半角スペース」「はーい」(後輩、書き足す。『SELECT 店名,メニュー名 FROM 』)「今回データをすっこ抜くテーブルはどこだ?」「メニュー一覧ですね」「じゃあ書いてみよう」「はい」

2014-04-23 22:04:25
レポライターBarque @repo_baq

@sousakuTL 【講義】(書いたテキストは『SELECT 店名,メニュー名 FROM メニュー一覧』になる)

2014-04-23 22:05:08
レポライターBarque @repo_baq

@sousakuTL 【講義】「(どやぁ)」「よしよし」「これで、みそベースの店名とメニュー名が取れるんですか?」「ん?いや(まだだよ、と言いかけてやめる)……そうだな、実際に一回唱えてみるか。というわけでそのエクセルの元データ貸しておくれ。準備するから」「はーい」

2014-04-23 22:09:50
レポライターBarque @repo_baq

@sousakuTL 【講義】(先輩、PCに入っていたデータベースソフトを起動。PC内のみで完結するタイプのデータベースを作成し、後輩の作った表をテーブルとして作成する)

2014-04-23 22:11:44
レポライターBarque @repo_baq

@sousakuTL 【講義】「はい。(ウィンドウを開く)このウィンドウにさっきのSQLを貼り付けて『実行』を押すと呪文が唱えられる。やってみ?」「はーい。いざっ(ぽちっとな)」「(先輩はニヤニヤしている)」

2014-04-23 22:13:31