日期:2014-05-16  浏览次数:20565 次

SQL Server数据库-----基本T-SQL(查询,插入,删除,修改)

一。查询语句(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对结果集进行排序。