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

mysql क्वेरी को छोड़कर सब कुछ चुनने के लिए

NOT IN का उपयोग करना:

SELECT w.*
  FROM WIDGET w
 WHERE w.widget_id NOT IN (SELECT c.widget
                             FROM CHOSEN c
                            WHERE c.user_id = $user_id)

मौजूद नहीं का उपयोग करना:

SELECT w.*
  FROM WIDGET w
 WHERE NOT EXISTS (SELECT NULL
                     FROM CHOSEN c
                    WHERE c.widget_id = w.widget_id 
                      AND c.user_id = $user_id)

बाएं शामिल हों/शून्य हैं:

   SELECT w.*
     FROM WIDGET w
LEFT JOIN CHOSEN c ON c.widget_id = w.widget
                  AND c.user_id = $user_id
    WHERE w.widget IS NULL

प्रदर्शन:

अगर तुलना किए गए कॉलम (किसी भी तालिका में विजेट_आईडी) अशक्त नहीं हैं, LEFT JOIN/IS NULL MySQL पर सबसे अच्छा प्रदर्शन करता है . अगर कॉलम अशक्त हैं (मान NULL हो सकता है), NOT IN या NOT EXISTS बेहतर प्रदर्शन करते हैं ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP वेब अनुप्रयोग:mysql डेटाबेस डिजाइन सर्वोत्तम अभ्यास प्रश्न

  2. डेटाबेस से समय का विश्लेषण कैसे करें

  3. PHP + HTML का उपयोग करके हाइपरलिंक में डेटाबेस मान कैसे पास करें?

  4. लैवरल 5 त्रुटि {(SQLSTATE [HY000] [1045] उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध (पासवर्ड का उपयोग करके:हाँ)}

  5. डेटाबेस mysql में छवियों को सहेजना