在选择运算符的条件下不使用连词

时间:2016-03-21 08:35:08

标签: sql relational-algebra

假设有一个表格调用ITEM,它包含3个属性(名称,ID,价格):

name      id      price

Apple     1       3
Orange    1       3
Banana    2       4
Cherry    3       5
Mango     1       3

如何编写查询以使用常量选择运算符来选择具有相同价格和相同ID的项目?我想到的第一件事是使用重命名运算符将id重命名为id',并将价格重命名为',然后将其与ITEM表联合,但因为我需要选择2个元组(price = price'& id =来自表的id'),如何在不使用关系代数中的连词运算符的情况下选择它们?

谢谢。

1 个答案:

答案 0 :(得分:1)

我不太确定,但对我来说,在关系演算中会是这样的:

enter image description here

然后在SQL中:

SELECT name FROM ITEM i WHERE
    EXISTS ITEM u
        AND u.name != i.name
        AND u.price=i.price
        AND u.id = i.id

但是,我认为你的假设是正确的,你仍然可以通过重命名来做到这一点。我相信它比我上面做的要长一点。