SQL ਅੰਦਰੂਨੀ ਜੁੜਵੇਂ ਨਾਲ ਕਈ ਸਾਰਾਂ ਤੋਂ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨਾ

ਇਨਰ ਰੀਟਰਨ ਜਾਣਕਾਰੀ ਨਾਲ ਜੁੜਦਾ ਹੈ ਜੋ ਦੋ ਜਾਂ ਵਧੇਰੇ ਡੈਟਾਬੇਸ ਵਿਚ ਪ੍ਰਗਟ ਹੁੰਦਾ ਹੈ

ਅੰਦਰੂਨੀ ਜੁੜਣ ਨੂੰ ਅਕਸਰ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜੋ SQL ਵਿੱਚ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ. ਉਹ ਕੇਵਲ ਉਹ ਜਾਣਕਾਰੀ ਵਾਪਸ ਕਰਦੇ ਹਨ ਜੋ ਦੋ ਜਾਂ ਵਧੇਰੇ ਡਾਟਾਬੇਸ ਤਾਲਿਕਾਵਾਂ ਵਿੱਚ ਮੌਜੂਦ ਹੈ ਸ਼ਾਮਲ ਹੋਣ ਦੀ ਸਥਿਤੀ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਕਿ ਕਿਹੜੇ ਰਿਕਾਰਡ ਇਕੱਠੇ ਮਿਲਦੇ ਹਨ ਅਤੇ WHERE ਧਾਰਾ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ. ਉਦਾਹਰਨ ਲਈ, ਜੇ ਤੁਹਾਨੂੰ ਡ੍ਰਾਈਵਰ / ਵਾਹਨ ਮਿਲਪ-ਅਪਾਂ ਦੀ ਇੱਕ ਸੂਚੀ ਦੀ ਲੋੜ ਹੈ ਜਿਸ ਵਿੱਚ ਵਾਹਨ ਅਤੇ ਡਰਾਈਵਰ ਦੋਵੇਂ ਇੱਕ ਹੀ ਸ਼ਹਿਰ ਵਿੱਚ ਸਥਿਤ ਹਨ, ਤਾਂ ਹੇਠਾਂ ਦਿੱਤੀ SQL ਕਵੇਰੀ ਇਸ ਕੰਮ ਨੂੰ ਪੂਰਾ ਕਰਦੀ ਹੈ:

ਡਰਾਈਵਰਾਂ ਤੋਂ ਪਹਿਲਾ, ਪਹਿਲਾ ਨਾਂ, ਟੈਗ ਚੁਣੋ, ਵਾਹਨ WHERE drivers.location = vehicles.location

ਇੱਥੇ ਨਤੀਜੇ ਹਨ:

lastname firstname ਟੈਗ
----------- ------------ ----
ਬੇਕਰ ਰੋਲੈਂਡ H122JM
ਸਮਾਇਥ ਮਾਈਕਲ ਡੀ 824HA
ਸਮਾਇਥ ਮਾਈਕਲ ਪੀ 091 ਯੁੱਫ
ਜੈਕਬਜ਼ ਅਬਰਾਹਮ J291QR
ਜੈਕਬਜ਼ ਅਬਰਾਹਮ ਐਲ 990 ਐਮਟੀ

ਧਿਆਨ ਰੱਖੋ ਕਿ ਨਤੀਜੇ ਬਿਲਕੁਲ ਸਹੀ ਸਨ ਜੋ ਲੱਭੇ ਗਏ ਸਨ WHERE ਧਾਰਾ ਵਿਚ ਅਤਿਰਿਕਤ ਮਾਪਦੰਡ ਨਿਰਧਾਰਤ ਕਰਕੇ ਪੁੱਛਗਿੱਛ ਨੂੰ ਹੋਰ ਸੁਧਾਰਨਾ ਸੰਭਵ ਹੈ. ਮੰਨ ਲਓ ਮੂਲ ਸਵਾਲ ਚਾਲਾਂ ਨੂੰ ਉਨ੍ਹਾਂ ਵਾਹਨਾਂ ਨਾਲ ਮਿਲਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ ਉਹ ਅਧਿਕਾਰਤ ਨਹੀਂ ਹਨ (ਟਰੱਕ ਡਰਾਈਵਰਾਂ ਨੂੰ ਕਾਰਾਂ ਅਤੇ ਉਲਟ). ਤੁਸੀਂ ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:

ਡਰਾਈਵਰਾਂ, ਵਾਹਨਾਂ, ਜਿੱਥੇ ਡ੍ਰਾਈਵਰਾਂ ਤੋਂ ਸਫਰ ਕਰੋ, ਪਹਿਲਾ ਨਾਂ, ਟੈਗ, ਵਾਹਨ ਚੁਣੋ. ਡ੍ਰਾਈਵਰਜ਼. ਸਥਾਨ = ਵਾਹਨਾਂ. ਸਥਾਨ ਅਤੇ ਡਰਾਈਵਰਜ਼.ਕਲੈਸ = ਵਾਹਨਾਂ. ਸ਼੍ਰੇਣੀ

ਇਹ ਉਦਾਹਰਨ SELECT ਧਾਰਾ ਵਿੱਚ ਕਲਾ ਗੁਣ ਲਈ ਸਰੋਤ ਸਾਰਣੀ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਕਲਾਸ ਅਸਪਸ਼ਟ ਹੈ- ਇਹ ਦੋਵੇਂ ਟੇਬਲਸ ਵਿੱਚ ਪ੍ਰਗਟ ਹੁੰਦਾ ਹੈ. ਆਮ ਤੌਰ ਤੇ ਇਹ ਕੋਡ ਨਿਸ਼ਚਿਤ ਕਰੇਗਾ ਕਿ ਕਿਹੜਾ ਸਾਰਣੀ ਦੇ ਕਾਲਮ ਨੂੰ ਸਵਾਲ ਨਤੀਜੇ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ. ਇਸ ਕੇਸ ਵਿੱਚ, ਇਸ ਵਿੱਚ ਕੋਈ ਫ਼ਰਕ ਨਹੀਂ ਹੁੰਦਾ, ਜਿਵੇਂ ਕਿ ਕਾਲਮ ਇਕੋ ਜਿਹੇ ਹੁੰਦੇ ਹਨ ਅਤੇ ਉਹ ਇਕ ਸਮਾਈਜੋਨ ਦੀ ਵਰਤੋਂ ਨਾਲ ਜੁੜ ਜਾਂਦੇ ਹਨ. ਹਾਲਾਂਕਿ, ਜੇਕਰ ਕਾਲਮ ਵਿੱਚ ਵੱਖਰੇ ਵੱਖਰੇ ਡੇਟਾ ਸ਼ਾਮਲ ਸਨ, ਤਾਂ ਇਹ ਅੰਤਰ ਮਹੱਤਵਪੂਰਨ ਹੋਵੇਗੀ. ਇਸ ਸਵਾਲ ਦਾ ਨਤੀਜਾ ਇਹ ਹੈ:

lastname firstname ਟੈਗ ਕਲਾਸ
---------- ------------ ---- ------
ਬੇਕਰ ਰੋਲੈਂਡ H122JM ਕਾਰ
ਸਮਾਇਥ ਮਾਈਕਲ ਡੀ 824ਹਾ ਟਰੱਕ
ਜੈਕਬਜ਼ ਅਬਰਾਹਮ J291QR ਕਾਰ

ਲਾਪਤਾ ਹੋਈਆਂ ਕਤਾਰਾਂ ਨੇ ਮਾਈਕਲ ਸਮਿੱਥ ਨੂੰ ਇਕ ਕਾਰ ਅਤੇ ਅਬਰਾਹਮ ਜੇਕਬਜ਼ ਨੂੰ ਇੱਕ ਟਰੱਕ ਵਿੱਚ ਜੋੜੀ ਬਣਾਇਆ, ਉਹ ਵਾਹਨ ਜੋ ਉਨ੍ਹਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ ਅਧਿਕਾਰਤ ਨਹੀਂ ਸਨ.

ਤੁਸੀਂ ਤਿੰਨ ਜਾਂ ਵਧੇਰੇ ਟੇਬਲਾਂ ਤੋਂ ਡਾਟਾ ਜੋੜਨ ਲਈ ਅੰਦਰੂਨੀ ਜੋੜਿਆਂ ਦੀ ਵਰਤੋਂ ਵੀ ਕਰ ਸਕਦੇ ਹੋ.