Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!mtxinu!sybase!jeffl@sybase.Sybase.COM From: jeffl@sybase.Sybase.COM (Jeff Lichtman) Newsgroups: comp.databases Subject: Re: Outerjoin implementation? Message-ID: <11034@sybase.sybase.com> Date: 24 Sep 90 01:53:34 GMT References: <1990Sep20.161204.13014@tfic.bc.ca> Sender: news@Sybase.COM Distribution: comp Lines: 21 > select qqsv,count(*) from foo > group by qqsv > produces a separate line for every row in foo that has a null in qqsv... It's not supposed to. This is one of those cases where nulls are supposed to act like they're equal to each other. Does Informix SQL treat each null as a separate group? BTW, I agree that nulls in SQL leave a lot to be desired. I'm not convinced, though, that default values are adequate in place of nulls. There's the problem of having to choose a default that's guaranteed never to be represented by known data values. There's the problem of accidentally using a default value in a calculation as if it were a true value (calculations with null always yield null). There's the problem of storage space - many database systems don't use any space on disk for null values, which can save a lot in sparsely populated tables. There's the problem of naive users incorrectly interpreting default values as true data. And on and on.... --- Jeff Lichtman at Sybase {mtxinu,pacbell}!sybase!jeffl -or- jeffl@sybase.com "Saints should always be judged guilty until they are proved innocent..."