选择(Selection) 设有关系R,在关系R中求取满足给定条件F的元组组成新的关系的运算称为选择。记作σF(R)。
其中F是一个条件表达式,其值为“真”或“假”。σF(R)是从关系R中选取使条件表达式F为真的元组。
对应的SQL语句:
SELECTR.学号,R.课程名,R.分数 from R
WHERE 分数>85
投影(Projection) 设有关系R,在关系R中求指定的若干个属性列组成新的关系的运算称作投影,记作ΠA(R),
其中A为欲选取的属性列列名的列表。
对应的SQL语句:
若关系运算式为:П品名,数量(R)
SELECT 品名,数量 FROM R;
连接(Join)
从两个分别为n,m目的关系R和S的广义笛卡尔积中选取满足给定条件F的元组组成新的关系称为R和S的连接,记作R∞FS(F=AθB)。其中A和B分别为R和S上度数相等且可比的属性列,θ是算术比较符(>,≥,<,≤,=,≠)。即连接运算就是从两个关系的笛卡尔积中选取满足一定连接条件的元组的集合,连接的结果是一个(k1+k2)元的关系。对应的SQL语句:
Select * from R,S where R.A=S.C;
除(Division)
给定关系R(x,y)与S(y)其中x,y为属性集(也可为单属性),R中的y和S中的y是同名的属性(集)也可以有不同的属性名,
但必须出自相同的域集。在求解R÷S时,对R按x的值的分组,然后检查每一组,如某一组中的y包含S中全部的y,则取该组中的x的值作为关系P中的一个元组,否则不取。
R÷S的商等于关系P。对应于SQL语言:
SELECT DISTINCT A.Name FROM R AS A WHERE
NOT EXISTS
(SELECT * FROM S AS B WHERE
NOT EXISTS (SELECT * FROM R AS C where C.Name=A.Name and B.City=C.City))
GROUPBYA.Name