バージョン8.0より前のMySQL
- 一時テーブル
- 派生テーブル
- インラインビュー(事実上、WITH句が表すもの-互換性があります)
この機能のリクエストは2006年にさかのぼります。
前述のように、悪い例を示しました。列の出力を変更しない場合は、副選択を実行する必要はありません。
SELECT *
FROM ARTICLE t
JOIN USERINFO ui ON ui.user_userid = t.article_ownerid
JOIN CATEGORY c ON c.catid = t.article_categoryid
WHERE t.published_ind = 0
ORDER BY t.article_date DESC
LIMIT 1, 3
より良い例を次に示します。
SELECT t.name,
t.num
FROM TABLE t
JOIN (SELECT c.id
COUNT(*) 'num'
FROM TABLE c
WHERE c.column = 'a'
GROUP BY c.id) ta ON ta.id = t.id