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

SQL उप-क्वेरी - न्यूनतम मान कैसे खोजें

अधिक कुशल दृष्टिकोण आम तौर पर विश्लेषणात्मक कार्यों का उपयोग करना है

SELECT hospitalcode,
       name,
       ward,
       annualbudget
  FROM (SELECT h.hospitalcode,
               h.name,
               w.wardno,
               w.annualbudget,
               rank() over (order by w.annualbudget asc) rnk
          FROM hospital h
               JOIN ward w
                 ON (h.hospitalcode = w.hospitalcode))
 WHERE rnk = 1

हालांकि, आप एक सबक्वेरी का उपयोग भी कर सकते हैं

SELECT h.hospitalcode,
       h.name,
       w.wardno,
       w.annualbudget
  FROM hospital h
       JOIN ward w
         ON (h.hospitalcode = w.hospitalcode)
 WHERE w.annualbudget = (SELECT MIN(annualbudget)
                           FROM ward)

यदि न्यूनतम बजट के लिए एक से अधिक वार्ड बंधे हैं, तो ये दोनों विधियाँ कई पंक्तियाँ लौटाएँगी। विश्लेषणात्मक कार्य पद्धति के साथ, आप row_number . का उपयोग कर सकते हैं rank के बजाय कार्य करें यदि आप हर बार ठीक 1 पंक्ति वापस करना चाहते हैं, तो मनमाने ढंग से टाई तोड़ने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle से डेटाबेस लिंक के माध्यम से SQL सर्वर संग्रहीत कार्यविधि चलाएँ

  2. डेटाबेस पैचसेट प्राप्त करें

  3. मैं ऐसे चरित्र का उपयोग करने में सक्षम क्यों हूं जो एक वर्णसेट (विंडोज़-1252) का हिस्सा नहीं है?

  4. Oracle SQL इन्सर्ट ट्रिगर टू हैश पासवर्ड काम नहीं कर रहा है (CHAR के साथ समस्या)

  5. Oracle कॉलम डेटा को ट्रांसपोज़ करना और एकत्र करना