投稿数 585
公開から 2940

MySQL SELECTに存在しないカラムをORDER BYしても大丈夫な件


今日こんなコードをみつけてバグじゃね?と思ったら大丈夫だった。

SELECT `gei`.* FROM `全芸人リスト` AS `gei` LEFT JOIN (
SELECT
  `kyuu`.`芸人の名前`,
  MAX(kyuu.最高月収) as `saiko`,
 FROM `給料名簿` AS `kyuu`
 GROUP BY `kyuu`.`芸人の名前`
) AS `saiko_geshu`
ON (`給料名簿`.`芸人の名前` = `gei`.`名前`)
WHERE `gei`.`所属事務所` = `よしもと`
GROUP BY `gei`.`名前` ORDER BY `kyuu`.`saiko` DESC

大枠のselectではgei.*の選択なのにそのORDERBYではkyuuが使えるのがすごく気持ち悪い感じ。

でも大丈夫!

参考資料 ほえ〜。ほんとに大丈夫だ。 https://www.itec.co.jp/support/hosoku/pdf/hosoku_120208.pdf