With and Without export

What is the difference in assigning the variable with and without export ?

sport=Cricket
export sport=Cricket

In the above both ways, I could able to find the data stored in the variables using the echo and could not able to persist the data stored in the variables for multiple sessions ?

When to prefer export over without export ? I could not get the difference between two.

Could you please explain the differences with an example ?

Hello @dnpuneeth3,
The first definition creates a variable and assigns it the value. This is a shell variable .

The second definition with the export command is another way of defining a variable. It creates a variable and assigns it the value, and marks it for export to all child processes created from that shell