आप इस तथ्य को याद कर रहे हैं कि MySQL में दृश्य from
. में उपश्रेणियों की अनुमति नहीं देते हैं खंड। उन्हें select
. में अनुमति है और where
और having
खंड, हालांकि।
दस्तावेज बिल्कुल स्पष्ट है:
आपके मामले में, आप संभवतः from
. को फिर से लिख सकते हैं select
. में एक सहसंबद्ध उपश्रेणी के रूप में क्लॉज खंड। आप जो चाहते हैं उसे करने के लिए आप दृश्यों की कई परतों का भी उपयोग कर सकते हैं।
संपादित करें:
SQL में एक सेलेक्ट स्टेटमेंट में निम्नलिखित क्लॉज होते हैं:SELECT
, from
, where
, GROUP BY
, HAVING
, और ORDER BY
(मानक के अनुसार)। इसके अलावा, MySQL LIMIT
. जैसी चीज़ें जोड़ता है , और INTO OUTFILE
. आप इसे इस तरह से देख सकते हैं जैसे MySQL SELECT
. का वर्णन करता है दस्तावेज़ीकरण
में खंड . आप इसे लगभग किसी भी डेटाबेस के दस्तावेज़ीकरण में भी देख सकते हैं।
संचालन जैसे join
FROM
. का हिस्सा हैं खंड (इसी तरह WITH ROLLUP
GROUP BY
. का हिस्सा है और DESC
ORDER BY
का हिस्सा है ) ये रहस्यमय वाक्य-विन्यास सम्मेलनों की तरह लग सकते हैं, लेकिन यह महत्वपूर्ण हो जाता है जब ऊपर की तरह एक प्रतिबंध होता है।
शायद भ्रम का एक कारण इंडेंटेशन शैली है जो इस प्रकार है:
select . . .
from t1
inner join t2
on . . .
जहां ज्वाइन स्टेटमेंट select
. के तहत लाइन अप करते हैं . यह भ्रामक है। मैं इसे इस प्रकार लिखूंगा:
select
from t1 join
t2
on . . .
केवल select
select.
. के अंतर्गत क्लॉज लाइन अप