D D D D D 部署 部署コード D D D 部署コードが同じ⾏どうしを、横につなぐ (どちらの表にもある部署コードの列で、つなぐ) 今ココ SQL 部署名 営業 開発 総務 SELECT ⽒名, 部署名 FROM 社員 JOIN 部署 ON 社員.部署コード = 部署.部署コード 結果 ⽒名 ⻘⽊ 井上 上⽥ 江藤 ⼩野 部署名 営業 開発 営業 総務 開発 5/17
D D 井上 ⼩野 D D 江藤 D 給与(万円) SELECT 部署コード, AVG(給与) FROM 社員 GROUP BY 部署コード HAVING AVG(給与) >= 部署コード D D D 平均の給与 部署コードごとにまとめる まとめたあとで絞る HAVING 部署コード D D 平均の給与 平均が 25 未満の D が外れる WHERE はまとめる前の1⾏ずつ、HAVING はまとめたあとのグループに付ける条件 今ココ SQL 6/17
B をロック コミットして外す T A を待つ A を待つ A を待つ A をロック B をロック 順番がそろっていれば、待つことはあっても、互いに待つ輪にはならない 振替なら、例えば「⼝座番号の⼩さい順にロックする」と決めておく PostgreSQL のドキュメントも、ロックを⼀貫した順番で取るのが⼀番の防ぎ⽅としている 今ココ 実務では 15/17