Great article! I noticed an issue with the division operator though.
with r ÷ s going into result set t.
ALL of set s must match row A with the same in row B.
Here is a modified example from what you had above (made to have an output)
Relation in table 'r' :
Code:
+--------+-------+
| A | B |
+--------+-------+
| a | 1 |
| b | 2 |
| a | 2 |
| a | 3 |
| p | 3 |
| p | 4 |
+--------+-------+
Relation in table 's' :
Code:
+------+
| B |
+------+
| 2 |
| 3 |
+------+
Therefore, r ÷ s :
Code:
+------+
| A |
+------+
| a |
+------+
To reiterate,
a is the only result because it is the only tuple in set
r that matches
every row in set
s