基本语法
对于一个:select * from R where P 的查询,SQL先构造from子句中关系的笛卡尔积,根据where子句中的谓词P进行关系代数的选择运算,然后将结果投影到select子句中属性上。实践中,SQL也许会将该表达式转化成等价但执行效率更高的形式
语法 | 解释 |
---|---|
select | 对应关系代数中的投影运算,用来列出查询结果中所要的属性。默认是不去除重复的,因为操作费时。可在select后加distinct去除重复。”*”代表所有属性。可带-,+,×,/算术表达式。 |
where | 对应关系代数中的选择谓词。可使用 and,or,not逻辑连接词。提供between比较运算符 |
from | 对应关系代数中的笛卡尔乘积,列出表达式求值中需扫描的关系 |
as | 对应关系代数中的更名运算,用于select和from中。 |
order by | 让查询结果按排列顺序显示。默认asc(升序),desc(降序)。开销较大 |
集合运算
集合运算要求参加运算的关系必须相容,即必须含有相同的属性集
语法 | 解释 |
---|---|
union | 并运算。自动去除重复。可加all不去除重复 |
intersect | 交运算。自动去除重复。可加all不去除 |