संस्करण 8.0 से पहले का MySQL विथ क्लॉज का समर्थन नहीं करता (एसक्यूएल सर्वर भाषा में सीटीई; ओरेकल में सबक्वायरी फैक्टरिंग), इसलिए आपके पास उपयोग करने के लिए छोड़ दिया गया है:
- अस्थायी टेबल
- व्युत्पन्न टेबल
- इनलाइन दृश्य (प्रभावी रूप से जो खंड के साथ प्रतिनिधित्व करता है - वे विनिमेय हैं)
सुविधा के लिए अनुरोध 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