Difference between integration testing and system testing?

For Integration testing, test cases are developed with the express purpose of exercising the interfaces between the components
In system testing the complete system is configured in a controlled environment and test cases are created to simulate the real time scenarios that occurs in a simulated real life test environment.

The purpose of integration testing is to ensure distinct components of the application still work to accordance of the user requirements. The purpose of system testing is to validate an application and completeness in performing as designed and to test all functions of the system that is required in real life.

Integration testing is the phase in software testing in which individual software modules are combined and tested as a group.

It occurs after unit testing and before system testing.

Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies

tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system

ready for system testing.

The basic difference in integration testing and system testing is about its approach and scale. In system testing the basic code level knowledge of various modules is not required. Also the most popular approach of system testing is Black Box testing.
So, Just to sum up, system testing consumes all of the "integrated" software modules that cleared integration testing and also the software system itself.The thought behind performing integration testing is to identify and issues between different code modules that are integrated together.System testing aims to detect defects both within the integrated modules and also within the system as a whole single unit.