4

セットの除算は他の一連の操作によって実行できることを十分に認識しているので、私の質問は次のとおりです。

SQLに除算を設定するコマンドはありますか?

4

3 に答える 3

5

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

32ページから:

関係除算は基本的な演算子ではありません。これは、射影、デカルト積、および集合の差で表すことができます。

だから、いや。:)

于 2008-09-21T02:54:56.913 に答える
3

これは、関係代数構文を使用した優れた説明です

テーブルsailorsと(Ramakrishnan & Gehrke の「データベース管理システム」の例) が与えられた場合、次のクエリを使用して、すべてのボートを予約した船員を計算できますboatsreserves

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)
);
于 2011-05-07T16:28:18.603 に答える
2

関連する質問:タグ付けのためのデータベース設計

そして答えの関連部分はこの記事です

つまり、SQLには決まった除算はありません。

于 2008-09-21T03:02:57.550 に答える