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

1=1 पर शामिल हों (चुनें ...)?

इरादा एक बिना शर्त है LEFT JOIN , जो भिन्न . है CROSS JOIN . से इसमें लेफ्ट टेबल एक्सप्रेशन से सभी पंक्तियों को वापस कर दिया जाता है, भले ही राइट टेबल एक्सप्रेशन में कोई मेल न हो - जबकि एक CROSS JOIN परिणाम से ऐसी पंक्तियों को छोड़ देता है। मैनुअल में शामिल होने के बारे में अधिक जानकारी।

हालांकि:

1=1 व्यर्थ है Postgres और Amazon Redshift सहित सभी डेरिवेटिव में। बस true का उपयोग करें . यह संभवत:किसी अन्य RDBMS से लिया गया है जो boolean . का समर्थन नहीं करता है ठीक से टाइप करें।

... LEFT JOIN (SELECT  ...) ue ON true

फिर फिर, LEFT JOIN SELECT MIN(modified) FROM user . के साथ इस विशेष उपश्रेणी के लिए व्यर्थ है दाईं ओर, क्योंकि एक SELECT एक समग्र कार्य के साथ (min() ) और नहीं GROUP BY खंड हमेशा ठीक एक पंक्ति देता है। यह मामला (लेकिन अन्य मामले नहीं जहां कोई पंक्ति नहीं पाया जा सकता है) को सरल बनाया जा सकता है:

... CROSS JOIN (SELECT MIN(modified) AS first_modified FROM user) ue


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में dblink का उपयोग (इंस्टॉल) कैसे करें?

  2. PostgreSQL प्रदर्शन ट्यूनिंग युक्तियाँ

  3. PostgreSQL क्वेरी सीमा 1 के साथ बहुत धीमी है

  4. Postgres . में चुनिंदा कथन में अभिव्यक्ति का मूल्यांकन कैसे करें

  5. कॉलम इंटीजर को बूलियन में पोस्टग्रेज करता है