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

PostgreSQL json_array_elements FROM क्लॉज में - यह कार्टेशियन जॉइन क्यों नहीं है?

वास्तव में यह पुराने जमाने का है क्रॉस जॉइन के लिए सिंटैक्स। औपचारिक समकक्ष:

SELECT
    t.json_column->>'x',
    nested->>'y'
FROM 
    my_table t
CROSS JOIN
    json_array_elements(t.json_column->'nested') nested;

क्वेरी कार्टेशियन उत्पाद का उत्पादन नहीं करती है बल्कि आंतरिक जुड़ाव की तरह कार्य करती है। ऐसा इसलिए है क्योंकि इसमें एक छिपा हुआ . है जुड़ने के दो हिस्सों के बीच संदर्भ, इस मामले में उपनाम t . इस तरह के जुड़ाव को LATERAL JOIN . के नाम से जाना जाता है . दस्तावेज़ीकरण के लिए :

यदि जॉइन का कोई एक भाग एक फ़ंक्शन है तो इसे डिफ़ॉल्ट रूप से पार्श्व के रूप में माना जाता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेस्क्ल सरणी को पंक्तियों में खोलना

  2. PostgreSQL सूची दृश्य

  3. एक फ़ंक्शन से दूसरे फ़ंक्शन में पंक्तियों का एक सेट कैसे पास करें?

  4. Oracle, PostgreSQL और SQL Server में टाइमस्टैम्प की तुलना करने का सामान्य तरीका

  5. Grib2 से PostGIS रेखापुंज - किसी को भी यह काम करने के लिए मिलता है?