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

सरल Oracle चयन कथन वाक्य रचना

SELECT name
FROM   FRUIT
WHERE  color IN ( 'Red', 'Green' )
GROUP BY name
HAVING COUNT( DISTINCT color ) = 2;

आप ऐसा करने के लिए संग्रहों का भी उपयोग कर सकते हैं:

CREATE FruitColorTableType AS TABLE OF FRUIT.COLOR%TYPE;
/

SELECT DISTINCT
       Name
FROM   FRUIT f
WHERE  FruitColorTableType( 'Red', 'Green' )
       SUBMULTISET OF
       CAST( MULTISET(
         SELECT Color
         FROM   FRUIT c
         WHERE  c.name = f.name
       ) AS FruitColorTableType );

या:

SELECT name
FROM   FRUIT
WHERE  color MEMBER OF FruitColorTableType( 'Red', 'Green' )
GROUP BY name
HAVING COUNT( DISTINCT color ) = 2;

और यदि आप इसे एक फ़ंक्शन/प्रक्रिया के रूप में फिर से लिखते हैं तो आप संग्रह को तर्क के रूप में पास कर सकते हैं और CARDINALITY() का उपयोग कर सकते हैं संग्रह के आकार को हार्ड कोडिंग करने के बजाय कार्य करें।

(इन अंतिम दो प्रश्नों का परीक्षण नहीं किया गया है, इसलिए कुछ त्रुटियां हो सकती हैं)



  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. SQLException:ORA-06550 जावा से PL/SQL फ़ंक्शन को कॉल करते समय

  3. जावा Oracle स्थानीय होस्ट कनेक्शन त्रुटि (ORA-12505)

  4. Azure वेब ऐप (.NET) क्लाइंट को स्थापित किए बिना Oracle डेटाबेस से जुड़ रहा है

  5. Linux प्लेटफॉर्म के लिए Oracle डाटाबेस 21c