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

MySQL क्वेरी / क्लॉज निष्पादन आदेश

MySQL स्टेटमेंट्स का वास्तविक निष्पादन थोड़ा मुश्किल है। हालांकि, मानक क्वेरी में तत्वों की व्याख्या के क्रम को निर्दिष्ट करता है। यह मूल रूप से आपके द्वारा निर्दिष्ट क्रम में है, हालांकि मुझे लगता है कि HAVING और GROUP BY SELECT . के बाद आ सकता है :

  • FROM खंड
  • WHERE खंड
  • SELECT खंड
  • GROUP BY खंड
  • HAVING खंड
  • ORDER BY खंड

यह समझने के लिए महत्वपूर्ण है कि प्रश्नों को कैसे पार्स किया जाता है। आप SELECT . में परिभाषित कॉलम उपनाम का उपयोग नहीं कर सकते हैं WHERE . में क्लॉज, उदाहरण के लिए, क्योंकि WHERE SELECT . से पहले पार्स किया जाता है . दूसरी ओर, ऐसा उपनाम ORDER BY . में हो सकता है खंड।

वास्तविक निष्पादन के लिए, यह वास्तव में अनुकूलक पर छोड़ दिया गया है। उदाहरण के लिए:

. . .
GROUP BY a, b, c
ORDER BY NULL

और

. . .
GROUP BY a, b, c
ORDER BY a, b, c

दोनों पर ORDER BY . का प्रभाव है बिल्कुल भी निष्पादित नहीं किया जा रहा है -- और इसलिए GROUP BY . के बाद निष्पादित नहीं किया जा रहा है (पहले मामले में, प्रभाव GROUP BY . से छँटाई को हटाना है और दूसरे में प्रभाव GROUP BY . के अलावा और कुछ नहीं करना है पहले से ही करता है)।



  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

  2. मैं दो MySQL तालिकाओं को कैसे मर्ज कर सकता हूं?

  3. MySQL में सर्वर द्वारा समर्थित कॉलेशन को कैसे खोजें

  4. एसक्यूएल - कैसे स्थानांतरित करने के लिए?

  5. PHP MySQLI SQL इंजेक्शन को रोकें