下面的练习要求我将关系代数转换为sql代码。
我对关系代数还不是很熟悉,但是我尝试过用sql编写以下关系,但是我认为我犯了一些错误。
**> [Customer × Product ]―[π{Cid, Name, Pid, Label}(Customer ⋈ Orders ⋈ line_item)]**
SELECT * FROM Customer, Product WHERE Cid, Name, Pid, Label NOT IN
(SELECT Cid, Name, Pid, Label FROM Customer NATURAL JOIN Orders
NATURAL JOIN line_item);
对于这个,我真的不知道如何处理这个代数关系:
**> πName,Name2(σCid<Cid2 (πCid,Name,Pid (Customer ⋈ Orders ⋈ line_item)
⋈ βCid→Cid2,Name→Name2 (πCid,Name,Pid (Customer ⋈ Orders ⋈
line_item))))**
如果你能给我解释一下处理这种代数关系的推理过程,我将不胜感激。
1条答案
按热度按时间k4emjkb11#
对于第一个查询,它看起来几乎是正确的,只是我不认为您可以用
NOT IN
. 我会用WHERE NOT EXISTS
:第二部分,
可以这样写
也就是说: