SQL PROGRAMMING STYLE- P37:Im mot trying to teach you to program in SQL in this book. You might want to read that again. If that is what you wanted, there are better books. This ought to be the second book you buy, not the first. I assume that you already write SQL at some level and want to get better at it. If you want to learn SQL programming tricks, get a copy of my other book, SQL for Smarties (3rd edition, 2005). | Rivers and Vertical Spacing 37 expression but its DECODE function is quite close to it and can be substituted in older versions of Oracle. Rivers and Vertical Spacing When you look at a magazine or newspaper you will notice that the text is set in a column that is even on both sides. This is called justified text as opposed to ragged right or ragged left text. Extra spacing is added to each line to justify the text but if this extra spacing appears in the same location on several rows you get rivers. A river is a vertical open space in text and it is considered to be bad typography. You want to read text from left to right top to bottom with a visual break at the indentation or new line that marks the start of a paragraph. A river pulls your eye downward and makes the text more difficult to read. It is easy to set up what typographers call rivers in the program code in a monospace font because you can add spacing as needed but that same downward river effect aligns code on a vertical axis and makes the program easier to read. SELECT FROM Incidents AS I1 IPC Recommendations AS R1 Offences AS O1 WHERE AND AND AND AND versus no river SELECT FROM Incidents AS I1 IPC Recommendations AS R1 Offences AS O1 WHERE AND AND AND AND 38 CHAPTER 2 FONTS PUNCTUATION AND SPACING Indentation When you have to indent in block-structured 3GL programming languages use three spaces. A single space is too short to be read as anything but a word separator. Two spaces will work because that is what you were probably taught to use in typing classes at the end of a sentence but three