In the last episode (Sep 15), Bruce Feist said:
> Bob Hall wrote:
> >The meaning of NULL is defined in the SQL specification; it means
> >"not known" or "not applicable".
>
> Which is just about as useful as not defining it, actually. The
> vagueness is the cause of a great many program bugs when database
> designers don't specify what NULL means for a given field. To give a
> hypothetical example:
>
> The application is payroll/personnel. A programmer is tasked with
> creating forms for data entry on new employees, including supervisor.
> If the user doesn't enter a new employee's supervisor, the
> application accepts it, figuring that it is not yet known, and stores
> NULL for the field ("not known" use of NULL).
>
> Meanwhile, a payroll programmer has been tasked with writing an
> application to give the CEO a huge bonus and stock options. To
> figure out which employee is the CEO, the application looks for the
> employee with NULL for supervisor ("not applicable" use of NULL).
>
> Suddenly, a large number of new hires are fabulously wealthy. Who
> screwed up? Answer: the DB designer who didn't specify what NULL
> meant.
Your example has nothing to do with the vagueness of NULL though.
Replace NULL with "0" and you get the same result.
Of course, if I were the payroll programmer, I would simply select all
employees WHERE emp.titleid = titles.id AND titles.name="CEO".
--
Dan Nelson
[EMAIL PROTECTED]
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]