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

एसक्यूएल में शामिल होने के साथ पसंद का उपयोग कैसे करें?

INSTR का उपयोग करना :

SELECT *
  FROM TABLE a
  JOIN TABLE b ON INSTR(b.column, a.column) > 0

LIKE का उपयोग करना:

SELECT *
  FROM TABLE a
  JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'

CONCAT के साथ LIKE का उपयोग करना:

SELECT *
  FROM TABLE a
  JOIN TABLE b ON b.column LIKE CONCAT('%', a.column ,'%')

ध्यान रखें कि सभी विकल्पों में, आप शायद यह सुनिश्चित करने के लिए तुलना करने से पहले कॉलम मानों को अपरकेस में चलाना चाहेंगे कि आपको केस संवेदनशीलता की चिंता किए बिना मैच मिल रहे हैं:

SELECT *
  FROM (SELECT UPPER(a.column) 'ua'
         TABLE a) a
  JOIN (SELECT UPPER(b.column) 'ub'
         TABLE b) b ON INSTR(b.ub, a.ua) > 0

सबसे कुशल अंततः EXPLAIN योजना पर निर्भर करेगा। आउटपुट।

JOIN क्लॉज WHERE writing लिखने के समान हैं खंड। JOIN सिंटैक्स को एएनएसआई जॉइन के रूप में भी जाना जाता है क्योंकि वे मानकीकृत थे। गैर-एएनएसआई जॉइन इस तरह दिखते हैं:

SELECT *
  FROM TABLE a,
       TABLE b
 WHERE INSTR(b.column, a.column) > 0

मैं गैर-एएनएसआई बाएं जॉइन उदाहरण से परेशान नहीं होने जा रहा हूं। एएनएसआई जॉइन सिंटैक्स का लाभ यह है कि यह वास्तव में WHERE में जो कुछ भी हो रहा है उससे एक साथ जुड़ने वाली तालिकाओं को अलग करता है खंड।



  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. चेतावनी:mysqli_connect ():(HY000/1045):उपयोगकर्ता 'उपयोगकर्ता नाम' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध (पासवर्ड का उपयोग करके:हाँ)

  4. क्रोनजॉब हर मिनट

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