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 में छवियों को सहेजना