如何表示关系代数中的SQL "not exists“子句?
发布于 2020-01-27 03:50:32
SQL NOT EXISTS构造可以用反联接▹在关系代数中表示。
两个关系L和R的反联接L ▹ R选择那些不与R中的任何元组联接的L元组。它可以用集合差和左半连接定义如下:
L ▹ R = L - (L ⋉ R).发布于 2013-03-07 20:01:02
在我的例子中,我通过重写查询解决了这个问题,
SELECT *
FROM contactperson
WHERE EXISTS(
SELECT *
FROM person
WHERE contactperson.personId = person.id)至:
SELECT *
FROM contactperson
WHERE personId = (
SELECT id
FROM person
WHERE contactperson.personId = person.id)它返回相同的结果,并且更容易使用连接重写到关系代数。
https://stackoverflow.com/questions/3738070
复制相似问题