Java and C# can trace their roots back to the same people at Sun. They are very similar, but C# is for the .Net Microsoft world. Java started in the unix world and most of the advocates of Java still see unix as the best development environment. Both came about as better tools for Object Oriented Design. There are many other OOD languages, but the job market is much smaller than Java/C#. In either case, this is where the jobs are and if you learn one, you can easily learn the other. There is a bigger difference in the development environments and tools than between the languages.

SQL is essential. There are different flavors based on the DB platform, but it's almost impossible to think of software engineering without including database skills. Most of the scripting languages can be learned in your spare time and are nowhere near the challenge of OOD.