I am interested in knowing how SQL is used to actually generate results.
I understand how C++ code gets translated to assembly code. I understand how assembly code gets translated into machine code. I understand how the CPU processes this machine code, has a pointer counter to the machine code and works with registers to manipulate the code. I understand components like Arithmetic Logic Units and how they actually work. I learned this in Assembly Level Programming using the IBM 360 assembler. I also learned the 6502 assembly language. I understand linking and debugging via a use of instrumentation and WinHook like functionality. I understand parellel pipelining for Intel processors. I even understand interpretive languages (like the original Basic and) Java and the JVM, and how all of the java byte code is processed at run time.
I have a weak understanding of non Von Neuman architectures and dependency based relationships like that used by that used for dataflow processors. I know that some languages (Prolog??) have expressions where you define the dependency relationships between variables and the system finds you solution based on that. For example, in CAD/CAD systems like Pro/E, one writes a series of geometic relationships which must be maintained. When the system is properly constrained, the system generates a model conforming to the constraints.
But now where was there a good discussion of how this happens for SQL. I have read Hernadez's "An Introduction to Databases for Mere Mortals", but really don't understand how this low level functionality is accomplished.
Suppose that we have a table called mytable, with two columns, int x, int y;
CREATE TABLE [dbo].[Transaction_Customer_Label](
[index] [int] NOT NULL,
[value] [nchar](8) NULL)
Suppose we have a statement like
SELECT * FROM tabel WHERE index=1
I sort of understand that this must be interpreted to something having indicies which matches the col named index with some way of cheching it against 1.
Behind the scenes, is there some code which basically converts this into something like a big search for values in a rectangular grid?
How is the actual parsing of the SQL statement really accomplished?
I probably need links to articles rather than short blurbs, unless this can be explained in something short.