SQL扩展之T-SQL中的数据查询语言之投影查询篇

来源:互联网 发布:淘宝保洁店铺logo尺寸 编辑:程序博客网 时间:2024/05/14 03:59

   T-SQL语言中,最重要的的部分是它的查询功能,查询语言用来对已经存在域数据库中的数据按照特定的行,列,条件表达式或者一定义次序进行检索。

   T-SQL对数据库的查询使用SELECT 语句,SELECT 语句具有灵活的使用方式和强大的功能,SELECT 语句的语法格式如下:

ELECT select_list                   /*指定要选择的列*/FROM table_source                  /*FROM子句,指定表或视图*/[ WHERE search_condition ]    /*WHERE子句,指定查询条件*/[ GROUP BY group_by_expression ]   /*GROUP BY子句,指定分组表达式*/[ HAVING search_condition ]    /*HAVING子句,指定分组统计条件*/[ ORDER BY order_expression [ ASC | DESC ]]           /*ORDER子句,指定排序表达式和顺序*/
     1,投影查询。

         投影查询通过SELECT 语句的SELECT 子句来标识,由所选表中的部分或者全部列组成结果表,SELECT子句的语法格式如下:

SELECT [ ALL | DISTINCT ] [ TOP n [ PERCENT ] [ WITH TIES ] ] <select_list>select_list指出了结果的形式,其格式为:{  *                                                /*选择当前表或视图的所有列*/    | { table_name | view_name | table_alias } . *                             /*选择指定的表或视图的所有列*/    | { colume_name | expression | $IDENTITY | $ROWGUID [ [ AS ] column_alias ]                   /*选择指定的列并更改列标题,为列指定别名,还可用于为表达式结果指定名称,*/     | column_alias = expression                    } [ , … n ]
      A,投影指定的列。

            使用SELECT语句可选择表中的一个列或者多个列,如果是多个列,各列名中间要用逗号分开,其语法格式如下:

SELECT column_name [ , column_name…]FROM table_name WHERE search_condition
       其中,FROM子句用于指定表,WHERE用于在该表中检索符合search_condition条件的列。 

      例如,查询student表中所有的学生的学号,姓名和专业:

USE stscSELECT stno, stname, specialist FROM student
      B,投影全部列

        在SELECT 子句指定的位置上使用 “*”  号时,则为查询表中的所有列。

       例如,查询student表中的所有列:

USE stscSELECT * FROM student
     C,修改查询结果的列标题

------------------分享-------------------------

之前我在这个上面吃过亏,不能算是吃亏,我用的是SQL语法,没有使用T-SQL的扩展语法,当时想修改查询结果中的列名,结果,做出来,写的挺麻烦的大哭,现在再来看看T-SQL,简单的很哦。微笑推荐使用这种方法微笑

-------------------------------------------------


      为了改变查询结果中的列名,可以在列名后使用AS子句,其语法格式如下

AS column_alias
   其中,colum_alias 用于指定显示的列标题,AS 可省略

   例如,查询student表中的 stno,stname,tc列,将结果中各列的标题分别修改为学好,姓名,总学分。

USE stscSELECT stno AS '学号', stname AS '姓名', tc AS '总学分'FROM student
    D,去掉重复行

    去掉结果中的重复行可使用DISTINCT 关键字,其语法格式如下:

SELECT DISTINCT column_name [ , column_name…]
    例如,查询student 表中的specialist列,消除结果中的重复行

USE stscSELECT DISTINCT specialist FROM student
    

0 0