1、SQL查询的基本结构
由三个子句构成:select,from,where
SELECT A1,A2,……,An
FROM r1,r2,……,rm
WHERE P
这个查询语句等价于关系代数表达式:
—∏ A1,A2,……,An(σp(r1 x r2 x …… x rm))
查询的输入是在from子句中列出的关系,在这些关系上进行where和select子句中指定的运算,然后产生一个关系作为结果。
2、SQL不允许在属性名称中使用字符‘-’,能用这个字符‘_’。
且SQL不区分字母的大小写,所以可以使用大写字母或小写字母命名表、属性等。
SQL允许在关系以及SQL表达式结果中出现重复的元组,若要强行去除重复,可在select后加入关键词distinct;也允许使用关键词all来显示指明不去除重复(SQL默认就是all)
3、星号“*”在select子句中,可以用来表示“所有的属性”
select子句中还可以带含有+、-、*、/运算符的算术表达式,运算对象可以是常数或元组的属性。
4、where子句允许只选出那些from子句的结果关系中满足特定谓词的元组。
SQL允许在where子句中使用逻辑连接词and,or和not,也可以使用between指定范围查询。逻辑连词的运行对象可以是包含比较运算符<、<=、>、>=、=和<>的表达式。
5、from子句是一个查询求值中需要访问的关系列表,通过from子句定义了一个在该子句中所列出关系上的笛卡儿积;例如:
找出关系instructor和teaches的笛卡儿积
select *
from instructor,teaches;
6、SQL提供可为关系和属性重新命名的机制,即使用as子句:old-name as new-name
as子句既可以出现在select子句中,也可以出现在from子句中。
为了区分或简洁,可使用重命名。