Errata

SQL In A Nutshell

Errata for SQL In A Nutshell

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed Page 2
last paragraph

Oracle is also not relational as per Codd's principals, as it violates the third
principal, and is unable to distinguish between an empty string and a NULL value.

Anonymous   
Printed Page 14, 15
Table 2-3

The table does not list NATIONAL as a prefix for some of the datatypes to
force use of Unicode characters rather than ASCII.

Anonymous   
Printed Page 15
Table 2-3

The table incorrectly lists 'NVARCHAR' as a MySQL datatype. This should be
changed to 'NATIONAL VARCHAR'.

Anonymous   
Printed Page 25
Joins

The third example of an outer join is exactly the same as the ANSI style
example - it does not illustrate the preceding point

Anonymous   
Printed Page 26
2nd paragraph, end of second line

"equivalent to the ASNI" should be "equivalent to the ANSI"

Anonymous   
Printed Page 34
3rd paragraph, 2nd sentence

"may be to add" should be something like "may be used to add"

Anonymous   
Printed Page 40
4th paragraph

The book states that CASE is not supported in Oracle.

>From Oracle 8i rel. 2 (8.1.6), CASE -- WHEN is implemented.

Oracle claims that version 9 (recently released)is fully SQL99 compatible.

Anonymous   
Printed Page 118
3rd paragraph (last example)

The example description states that the data is being loaded from "sales"
into the "new_sales" table.

In the code, however, it is the contrary: the data goes into "sales2
(INSERT sales ... ) and comes from "new_sales" (... FROM new_sales ...).

Anonymous   
Printed Page 137
The second list term now reads:

Full Join

It should read:

Full [Outer] Join

Anonymous   
Printed Page 146
2nd paragraph

The ORDER BY clause of the example above this paragraph says

ORDER BY e.fname DESC,
e.lname ASC

Yet the text below it says: "...the result set is sorted by the authors' last names
in descending order..." and "...the authors' first names are sorted in ascending
order."

That should be "FIRST names in descending order" and "LAST names in ascending order".

Anonymous   
Printed Page 150
Middle with an owl

You mention here in the Oracle section that "select into" for Oracle is to
be used only for assignment of variables in PL/SQL. True, but what the
user is probably looking for is how to emulate the MS SQLServer "select
into" statement in Oracle, which is commonly known as "CTAS", or Create
Table As Select. A simplified syntax is:

Create Table XX as select * from oldtable where y=1

This is a great statement to use while testing or creating test data, so
it's worth mentioning.

Also, why no mention of the UNION command for joining queries? Its an easy
thing to stick in the select area, even if its deprecated.

Anonymous   
Printed Page 162
second heading, "PostgreSQL Notes"

PostgreSQL supports the SQL99 syntax for UPDATE, as described in the previous
section, but it also supports a form such as:

UPDATE table SET col = expression [, ...]
[ FROM fromlist ]
[ WHERE condition ]

where the FROM clause may contain multiple tables to be joined.

See http://www.postgresql.org/users-lounge/docs/7.0/user/sql-update.htm for
the complete PostgreSQL documentation on its forms.

Anonymous   
Printed Page 173
example at the top of the page

The output from the select statement is backwards.

Anonymous   
Printed Page 176
item in table 4.7

entry to table 4.7 "containsable(..." should be "containstable(..."

Anonymous   
Printed Page 183
description of substring() function in table 4-8

"Returns a substring 10 characters long.." should be "Returns a substring len characters long.."

Anonymous   
Printed Page 183
function & description entries in table 4.8 for function right()

right(str, ten) | Returns the rightmost 10 characters.. should be

right(str, len) | Returns the rightmost len characters.. should be

Anonymous   
Printed Page 188
description of numtoyminterval function in table

"INTERVAL DAY TO MONTH" should be "INTERVAL YEAR TO MONTH"

Anonymous   
Printed Page 188
description of nvl2() function

"Similar to NLV" should be "Similar to NVL"

Anonymous