1. The advantages of a declarative language as in the case of SQL compared to procedural languages such as C++, Java, C#, or Visual Basic are in the table I have included. Of course these languages are not without their disadvantages either.
2. Even though a lot of people do prefer to use SQL declarative language, there are some advantages to using procedural language instead. Below I collected a list of the advantages into a table that helps to illustrate this.
3. The Cross Join are legitimate because you are assigning each table a different alias This type of join helps people that need to join large sets of numbers and comparing them, such as test data or for comparing two tables against each other. Cross joins are also known as a Cartesian product in the mathematics world. This type of join would probably be useful for accountants, historians, and anybody that conducts analyses.