こんにちは、やっと花粉症がおさまってきたシステムエンジニアのリョータです。 今年もすでに4ヶ月目に突入し、新たなスタートを切った方も多いのではないでしょうか。 今回は、最新のレコードを取得するSQLについて、解説を3つほどご紹介したいと思います。 下記のSQL文は、私がSQLを仕事で使い始めてからつまずいたもので、初心に戻ってまとめようと思ったのがきっかけです。 3つともサブクエリを使ったSQLとなっています。是非、ご参考にしてみてください。 条件 下のSQLは、全社員の所属部署(staff_section)テーブルの最新を取るものです。 社員番号(staff_no)が社員のキーになり、開始日(start_date)は必ず入力されています。 所属期間はかぶらないものとします。 社員番号(staff_no)でレコードが絞れる(※)なら、社員番号にインデックスを張ると、コストが改善されます。
![SQLで最新のレコードを取得する3つの方法](https://cdn-ak-scissors.b.st-hatena.com/image/square/aaaf4320c618ffc0b2e7a89154f77af591de6ece/height=288;version=1;width=512/https%3A%2F%2Fdxo.co.jp%2Fblog%2Fwp-content%2Fuploads%2F2015%2F04%2F20150420_01.jpg)