復職して、約2ヵ月。

なんとか、踏ん張っています。

最近ずっと、会員制サイトの構築に携わっていて、おかげでMySQLの知識が日に日に増えていっています。

今日は、サブクエリ文について。

以下のサイトは、サブクエリの“超簡単な”説明です。

サブクエリを使った検索条件の設定
http://www.dbonline.jp/mysql/select/index20.html

サブクエリとはSELECT文で取得した結果を他のSELECT文やUPDATE文の中で利用する使い方です。主にはWERE句の中で使用されることが多いのですがそれには限定されません。またサブクエリを利用できる文はSELECT文、INSERT文、UPDATE文、DELETE文、SET文、DO文のいずれかだけです。

まあ、WHERE句でちょっと複雑な検索条件を設定するときに便利かな?

僕の場合は、ログイン情報を取得する際に、次のようなクエリ文を発行した。

$sql = <<< SQL
SELECT `login_time`
FROM `{$tblname}`
WHERE `login_time` = (
  SELECT MAX(`login_time`)
  FROM `{$tblname}`
  WHERE `user_id` = '{$user_id}'
)
SQL;

ログイン/アウトの情報を格納しているテーブルにアクセスして、特定の`user_id`を持つ`login_time`の中から、最も値の大きいモノ、つまり最近のログイン時間を取得するときにこりゃ便利。

“忙しい”ってのはしんどいけど、精神が健全だとこうも充足感が得られるものなのかと、実感。

このまま、健全でいられますように。

しんどいから、寝る。