1. A method of optimizing an SQL query in a computer having a memory, the SQL query being performed by the computer to retrieve data from a relational database stored in an electronic storage device coupled to the computer, the method comprising the steps of: (a) propagating column nullability values in the memory of the computer through various SQL operations of the query, wherein the column nullability values are selected from a group comprising null, non-null, and nullable; and (b) optimizing the SQL operations of the query in the memory of the computer based on the propagated column nullability values.