Re: Curious SQL question

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sat, 06 Jan 2007 15:22:14 GMT
Message-ID: <G8Pnh.41302$cz.607601_at_ursa-nb00s0.nbnet.nb.ca>


Walt wrote:

> "Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message
> news:3INnh.41260$cz.607000_at_ursa-nb00s0.nbnet.nb.ca...
> 

>>J M Davitt wrote:
>>
>>>Neo wrote:
>>>
>>>
>>>>>select distinct orders.customer_id, products.product_id
>>>>> from orders, products
>>>>>minus
>>>>>select distinct customer_id, product_id
>>>>> from products;
>>>>>
>>>>>The first select esablishes a "universe of discourse" for the query
> 
> by
> 

>>>>>joining every customer with every product. The second select excludes
>>>>>products that a customer did buy.
>>>>
>>>>The above SQL makes the solution easy to understand (should the last
>>>>line of the SQL be orders instead of products). Assuming the following:
>>>>
>>>>set A = {shampoo, soap, bread, wine}
>>>>set B = {shampoo, soap, bread}
>>>>set C = {wine}
>>>>
>>>>What is the most appropriate name of the function that does the
>>>>following:
>>>>
>>>>C = f (A, B);
>>>>
>>>>Is it NAND, NOT INTERSECTION, NOT IN? And should the order of the
>>>>inputs (A, B) matter?
>>>
>>>Uh, isn't that 'A MINUS B' or, if you prefer, MINUS (A, B).
>>
>>What about XOR(A,B) ?
> 
> Read Marshall's response, concerning "symmetric difference".
> 
> XOR  is commutative.  MINUS is not.  Unless I'm misreading something.

Indeed. I apologize for playing with the cranks.

How about f(A,B) = Drinks(A) union Vehicles(B) ? Received on Sat Jan 06 2007 - 16:22:14 CET

Original text of this message