SQL中是否设置了除法?
-
02-07-2019 - |
题
我完全清楚可以通过一系列其他操作完成分组,所以我的问题是:
SQL中是否有用于设置分区的命令?
解决方案
http://vadimtropashko.files.wordpress.com/2007/02/ ch3.pdf
来自第32页:
关系部门不是基本的运营商。它可以用投影,笛卡尔积和集差表示。
所以,不。 :)
其他提示
根据表 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)
);
不隶属于 StackOverflow