𝗦𝗤𝗟 ਵਿੱਚ 𝗝𝗼𝗶𝗻𝘀
SQL joins ਦੋ ਜਾਂ ਦੋ ਤੋਂ ਵੱਧ ਟੇਬਲਾਂ ਤੋਂ ਡੇਟਾ ਨੂੰ ਜੋੜਦੇ ਹਨ। ਉਹਨਾਂ ਨੂੰ ਜੋੜਨ ਲਈ ਤੁਸੀਂ ਇੱਕ ਸਬੰਧਤ ਕਾਲਮ (related column) ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ। ਇਹ ਤੁਹਾਨੂੰ ਵੱਖ-ਵੱਖ ਥਾਵਾਂ 'ਤੇ ਸਟੋਰ ਕੀਤੀ ਜਾਣਕਾਰੀ ਦੇਖਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਇੱਥੇ ਮੁੱਖ join ਕਿਸਮਾਂ ਹਨ:
INNER JOIN ਇਹ ਸਿਰਫ਼ ਉਹਨਾਂ ਰੋਅਜ਼ (rows) ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀਆਂ ਕੀਮਤਾਂ ਦੋਵਾਂ ਟੇਬਲਾਂ ਵਿੱਚ ਮਿਲਦੀਆਂ ਹਨ। ਜੇਕਰ ਇੱਕ ਟੇਬਲ ਦੀ ਕਿਸੇ ਰੋਅ ਵਿੱਚ ਦੂਜੀ ਟੇਬਲ ਵਿੱਚ ਕੋਈ ਮੈਚ ਨਹੀਂ ਮਿਲਦਾ, ਤਾਂ ਉਹ ਬਾਹਰ ਰਹਿ ਜਾਂਦੀ ਹੈ।
LEFT JOIN ਇਹ ਖੱਬੇ (left) ਟੇਬਲ ਤੋਂ ਸਾਰੀਆਂ ਰੋਅਜ਼ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਹ ਸੱਜੇ (right) ਟੇਬਲ ਤੋਂ ਮਿਲਦੇ-ਜੁਲਦੇ ਰੋਅਜ਼ ਵੀ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਮੈਚ ਨਹੀਂ ਮਿਲਦਾ, ਤਾਂ ਸੱਜਾ ਪਾਸਾ NULL ਦਿਖਾਉਂਦਾ ਹੈ।
RIGHT JOIN ਇਹ ਸੱਜੇ (right) ਟੇਬਲ ਤੋਂ ਸਾਰੀਆਂ ਰੋਅਜ਼ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਹ ਖੱਬੇ (left) ਟੇਬਲ ਤੋਂ ਮਿਲਦੇ-ਜੁਲਦੇ ਰੋਅਜ਼ ਵੀ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਕੋਈ ਮੈਚ ਨਹੀਂ ਮਿਲਦਾ, ਤਾਂ ਖੱਬਾ ਪਾਸਾ NULL ਦਿਖਾਉਂਦਾ ਹੈ।
FULL OUTER JOIN ਇਹ ਸਾਰੀਆਂ ਰੋਅਜ਼ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਦੋਂ ਕਿਸੇ ਵੀ ਟੇਬਲ ਵਿੱਚ ਮੈਚ ਮਿਲਦਾ ਹੈ। ਇਹ ਦੋਵਾਂ ਪਾਸਿਆਂ ਤੋਂ ਸਭ ਕੁਝ ਦਿਖਾਉਂਦਾ ਹੈ। ਜੋ ਰੋਅਜ਼ ਮੈਚ ਨਹੀਂ ਕਰਦੀਆਂ, ਉਹ NULL ਦਿਖਾਉਂਦੀਆਂ ਹਨ।
CROSS JOIN ਇਹ ਪਹਿਲੇ ਟੇਬਲ ਦੀ ਹਰ ਰੋਅ ਨੂੰ ਦੂਜੇ ਟੇਬਲ ਦੀ ਹਰ ਰੋਅ ਦੇ ਨਾਲ ਜੋੜ ਕੇ ਇੱਕ ਸੁਮੇਲ (combination) ਬਣਾਉਂਦਾ ਹੈ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ 4 ਕਰਮਚਾਰੀ ਅਤੇ 4 ਵਿਭਾਗ ਹਨ, ਤਾਂ ਤੁਹਾਨੂੰ 16 ਰੋਅਜ਼ ਮਿਲਣਗੀਆਂ।
SELF JOIN ਇਹ ਇੱਕ ਟੇਬਲ ਨੂੰ ਆਪਣੇ ਆਪ ਨਾਲ ਹੀ ਜੋੜਦਾ ਹੈ। ਤੁਸੀਂ ਇਸਦੀ ਵਰਤੋਂ ਇੱਕੋ ਟੇਬਲ ਦੇ ਅੰਦਰ ਰੋਅਜ਼ ਦੀ ਤੁਲਨਾ ਕਰਨ ਲਈ ਕਰਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਇੱਕ ਟੇਬਲ ਵਿੱਚ ਇੱਕ ਕਰਮਚਾਰੀ ਨੂੰ ਉਸਦੇ ਮੈਨੇਜਰ ਨਾਲ ਜੋੜਨ ਲਈ ਇਸਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ।
ਸਾਰਾਂਸ਼ ਗਾਈਡ:
• INNER JOIN: ਸਿਰਫ਼ ਮਿਲਦੇ-ਜੁਲਦੇ ਰੋਅਜ਼। • LEFT JOIN: ਸਾਰੀਆਂ ਖੱਬੀਆਂ ਰੋਅਜ਼ ਅਤੇ ਮਿਲਦੇ-ਜੁਲਦੇ ਰੋਅਜ਼। • RIGHT JOIN: ਸਾਰੀਆਂ ਸੱਜੀਆਂ ਰੋਅਜ਼ ਅਤੇ ਮਿਲਦੇ-ਜੁਲਦੇ ਰੋਅਜ਼। • FULL OUTER JOIN: ਦੋਵਾਂ ਟੇਬਲਾਂ ਦੀਆਂ ਸਾਰੀਆਂ ਰੋਅਜ਼। • CROSS JOIN: ਹਰ ਸੰਭਵ ਸੁਮੇਲ। • SELF JOIN: ਇੱਕ ਟੇਬਲ ਜੋ ਆਪਣੇ ਆਪ ਨਾਲ ਜੁੜਿਆ ਹੋਵੇ।