Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

आप MySQL में WITH क्लॉज का उपयोग कैसे करते हैं?

संस्करण 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL क्वेरी से nth रिकॉर्ड लौटाएं

  2. Azure पर MySQL होस्टिंग, स्केलग्रिड पर पूरी तरह से प्रबंधित क्लाउड डेटाबेस सेवा लॉन्च

  3. सभी MySQL डेटाबेस को पुराने से नए सर्वर में कैसे ट्रांसफर करें

  4. SQLAlchemy ORM के साथ बल्क इंसर्ट

  5. MySQL में मार्जिन की गणना कैसे करें