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

3 प्रकार के परिणाम प्राप्त करने के लिए MYSQL INNER जॉइन करें

LEFT OUTER JOINs का उपयोग करके, आप 3 प्रश्नों को इस प्रकार कर सकते हैं:-

SELECT vehicles.ID 
FROM vehicles 
INNER JOIN insurance i1 
ON vehicles.ID = i1.vehicle_ID 
LEFT OUTER JOIN insurance i2 
ON i1.vehicle_ID = i2.vehicle_ID 
AND i2.expire > i1.expire
WHERE i2.id IS NULL
AND i1.expire < NOW()

यहां यह किसी भी बाद की बीमा समाप्ति तिथियों के लिए एक बाएं बाहरी जुड़ाव करता है, और i2.id के लिए जांच करता है कि यह सुनिश्चित करने के लिए कि बाद में कोई समाप्ति तिथि नहीं मिली है, और फिर यह जांचने के लिए कि यह समाप्त हो गया है, की समाप्ति तिथि की जांच करता है।

SELECT vehicles.ID 
FROM vehicles 
LEFT OUTER JOIN insurance i1 
ON vehicles.ID = i1.vehicle_ID 
WHERE i1.id IS NULL

यह सिर्फ यह जांचता है कि कोई मेल खाता बीमा रिकॉर्ड तो नहीं है

SELECT vehicles.ID 
FROM vehicles 
INNER JOIN insurance i1 
ON vehicles.ID = i1.vehicle_ID 
LEFT OUTER JOIN insurance i2 
ON i1.vehicle_ID = i2.vehicle_ID 
AND i2.expire > i1.expire
WHERE i2.id IS NULL
AND i1.expire >= NOW()

पहली क्वेरी के समान, यह किसी भी बाद की बीमा समाप्ति तिथियों के लिए एक बायां बाहरी जुड़ाव करता है, और i2.id के लिए जांच करता है ताकि यह सुनिश्चित हो सके कि बाद में कोई समाप्ति तिथि नहीं मिली है, और फिर यह जांचने के लिए कि समाप्ति तिथि समाप्त नहीं हुई है, की जांच करता है। ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या MySQL पिवट टेबल में ऑटो-इंक्रिमेंटिंग प्राथमिक कुंजी रखने का कोई लाभ है?

  2. जावा के लिए php मान स्टोर करें

  3. Play Framework Anorm &DB हल नहीं हुआ

  4. mysql तालिका में कॉलम का आकार कैसे प्राप्त करें?

  5. CodeIgniter में स्क्रीन पर प्रदर्शित होने से mysql त्रुटियों को कैसे बंद करें?