日期:2014-05-16 浏览次数:20565 次
一。查询语句(SELECT)
SELECT语句的基本语法:
SELECT [ALL|DISTINCT] <目标列表达式> [AS 列名][,<目标列表达式> [AS 列名] ...]
FROM <表名> [,<表名>…]
[WHERE <条件表达式> [AND|OR <条件表达式>...]
[GROUP BY 列名]
[HAVING <条件表达式>>]
[ORDER BY 列名 [ASC | DESC>]]
注:以上语句由方括号为可选项,尖括号为必填项。
1).WHERE子句。
WHERE子句用于对数据库查询进行条件设定.
eg:SELECT s.name FROM student s WHERE s.year>=2003;//其表示查询数据库student中year值大于2003的行的name值。
在SELECT中可以使用的运算符有:
(1).>,>,<=,>=,=,<>,!=,!>,!<
(2).AND,OR,NOT
(3).BETWEEN
(4).LIKE 通配符有:%,_,[ ],[^]
(5).IN
(6).ALL,ANY,SOME 其中ANY和SOME运算符相似
(7).EXISTS(用于子查询)
2).ORDER BY
ORDERY BY语句用于对返回的结果集进行排序。其排序的方式总是系统按最小的方式来进行排序。如果我们需要查询的结果按字母,数字等等自然顺序或者逆序来排序,那请用ASC或者DESC关键字。其中ASC关键字用于按升序排列,而DESC关键字用于按降序的方式排序。
3).GROUP BY
GROUP BY语句用于分组查询,其一般与聚合函数一起使用。其将数据分为各个小块,在对各个小块进行一些处理和操作(函数实现)。
eg:SELECT COUNT(*) FruitName AS 水果种类, ProductPlace AS 出产国 FROM test GROUP BY ProductPlace
上面的SELECT语句的意思是:首先将test数据库中的数据按出产国进行分组,在有COUNT(*)对每个分组也就是出产国的水果种类进行计数(水果种类数)。
一些函数:SUM(行名),AVG(行名),MIN(行名),MAX(行名),COUT(*)用于计算函数。。。等等。其中上面这些,在没有使用GROUP BY子句的时候,只有SUM和AVG能使用在SELECT语句中,但不用指明行名。
4).HAVING 子句
HAVING子句和WHERE子句一样同为查询条件。但他们在SELECT语句中执行的优先级不同。
一般SQL Select语句完整的执行顺序:
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序。