Sql Excel : What to Do, Not How to Do It

A SQL query describes the result set, but does not specify how this is
accomplished. This approach has several advantages. A query is isolated from the
hardware and operating system where it is running. The same query should return
equivalent results on the same data in two very different environments.
Being non-procedural means that SQL needs to be compiled into computer code
on any given computer. This compilation step provides an opportunity to optimize
the query to run as fast as possible in the environment. Database engines contain
many different algorithms, ready to be used under just the right circumstances.
The specific optimizations, though, might be quite different in different
environments.
Another advantage of being non-procedural is that SQL can take advantage of
parallel processing. The language itself was devised in a world where computers
were very expensive, had a single processor, limited memory, and one disk. The
fact that SQL has adapted to modern system architectures where CPUs, memory,
and disks are plentiful is a testament to the power and scalability of the ideas
underlying the relational database paradigm. When Codd wrote his paper
suggesting relational algebra for “large data banks,” he was probably thinking of a
few megabytes of data, an amount of data that now easily fits in an Excel
spreadsheet and pales in comparison to gigabytes of information on a mobile
device or the terabytes of data found in corporate repositories.