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

कैसे निर्धारित करें कि कोई MySQL क्वेरी मान्य है या नहीं?

आरंभ करने के लिए, select * . के बाद अल्पविराम संबंधित नहीं है।

दूसरा, आप अपने टेबल को उपनाम देते हैं (table_2 t और table_1 a ), लेकिन फिर आप लगातार उपनामों का उपयोग नहीं करते हैं, इसलिए आपको रन टाइम में समस्या हो सकती है। रखरखाव के नजरिए से भी, मुझे लगता है कि अधिकांश लोग घोषित होने पर उपनाम का उपयोग करना पसंद करते हैं, और अन्यथा कोई उपनाम नहीं।

तीसरा, आप बाहरी चयन ('smith' in (t.column1, t.column2) में t तालिका के कॉलम से तुलना करते हैं। ), जब वह अनावश्यक प्रतीत होता है। आप इसे बाहरी चयन में ही कर सकते हैं। दूसरे शब्दों में, आप उस टर्मिनल पैरेन को AND ('smith' . से पहले ले जा सकते हैं ...

यह काम करता है या नहीं - मुझे नहीं पता, क्योंकि मुझे नहीं पता कि आप क्या हासिल करने की कोशिश कर रहे हैं।

संयुक्त, जो आपको छोड़ देगा:

SELECT t.*
FROM TABLE_2 t
WHERE EXISTS (SELECT IF(a.column1 = 'smith', a.column2, a.column1)       
              FROM TABLE_1 a
              WHERE 'smith' IN (a.column1, a.column2)
              AND a.status = 1)
AND ( 'smith' IN (t.column1, t.column2)



  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. समवर्ती मुद्दों को संभालने का सबसे अच्छा तरीका

  3. त्रुटि 1366 (HY000):गलत स्ट्रिंग मान:पंक्ति 1 पर कॉलम 'टिप्पणी' के लिए '\xF0\x9F\x98\x9C'

  4. उन पंक्तियों को खोजें जिनका MySQL में एक कॉलम पर समान मान है

  5. प्राथमिक/विदेशी कुंजी के रूप में चार का उपयोग नहीं कर रहा है?