# Re: Expressing SQL in relational algebra

Date: Sat, 15 Mar 2003 23:57:37 -0500

Message-ID: <yZTca.111$hj.17467512_at_mantis.golden.net>

"Neo" <neo55592_at_hotmail.com> wrote in message
news:4b45d3ad.0303152023.2e117071_at_posting.google.com...

> > > "SELECT * FROM T_Person WHERE (age=20) AND (weight=180);" in rel

algebra?

*> >
*

> > (T_Person | age=Years(20) AND weight=Pounds(180)),

*> > RESTRICT(T_Person,age=Years(20) AND weight=Pounds(180)),
**> > or T_Person WHERE ( age=Years(20) AND weight=Pounds(180) )
**>
**> Could the above also be expressed as "person ^ age ^ 20 ^ years ^
**> weight ^ 180 ^ pounds" where ^ means AND?
*

Not that I know of.

Where does the above indicate the restrict operation or the equality comparisons?

> How does Tutorial-D express joins such as: "SELECT * FROM T_Car JOIN

*> T_Part ON T_Car.ID = T_Part.CarID WHERE T_Part.Color = 'red'";
*

I haven't checked the exact syntax, but I would guess:

((T_Car RENAME ID AS CarID) JOIN (T_Part)) WHERE Color = Color('Red')

Why do you prepend every relation name with "T_" ? It doesn't really make much sense. Received on Sun Mar 16 2003 - 05:57:37 CET