我完全清楚可以通过一系列其他操作完成分组,所以我的问题是:

SQL中是否有用于设置分区的命令?

有帮助吗?

解决方案

http://vadimtropashko.files.wordpress.com/2007/02/ ch3.pdf

来自第32页:

  

关系部门不是基本的运营商。它可以用投影,笛卡尔积和集差表示。

所以,不。 :)

其他提示

相关问题:标记数据库设计

答案的相关部分是这篇文章

简而言之,不,SQL中没有设置分区。

以下是使用关系代数语法的一个很好的解释

根据表 sailors boats reserve (来自Ramakrishnan& Gehrke的“数据库管理系统”的例子)你可以计算出水手们使用以下查询保留所有船只:

SELECT name FROM sailors
WHERE Sid NOT IN (
    -- A sailor is disqualified if by attaching a boat,
    -- we obtain a tuple <sailor, boat> that is not in reserves
    SELECT s.Sid
    FROM sailors s, boats b
    WHERE (s.Sid, b.Bid) NOT IN (
        SELECT Sid, Bid FROM reserves
    )
);

-- Alternatively:
SELECT name FROM sailors s
WHERE NOT EXISTS (
    -- Not reserved boats
    (SELECT bid FROM boats)
    EXCEPT
    (SELECT r.bid FROM reserves r
    WHERE r.sid = s.sid)
);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top