SQL server的重要语句 Select语句基础

作者:朱丹  发布日期:2012-07-19 10:23:11

         SQL server的语句分为三类:
            数据定义语言(DDL):用于定义数据结构。常见语句有(CREATE、DROP、ALTER)
                数据操纵语言(DML):用于检索和修改数据结构。常见语句有(INSERT、UPDATE、SELECT、DELETE)
                数据控制语言(DCL):用于规定数据库用户的使用权限。常见语句有:(GRANT、REVOKE)
        其中最重要的就是数据操纵语句中的SELECT语句,在耿建玲老师的视频中,耿建玲老师重点强调了SELECT语句,用四集将    近九十分钟详细讲述了SELECT语句。那SELECT语句到底是怎么样的呢www.it165.net
     
         SELECT语句的特点:
                     SELECT语句可以由多个查询子句构成;
                     SELECT语句是数据库检索时使用最频繁的语句;
                     使用SELECT语句可以在需要的表单中检索到自己需要的数据;
                     使用SELECT语句检索数据时,需先知道需要的数据存储在哪里。
       
        SELECT语句的检索范围:
                                 全部的行和特定的列;
                                 全部的行和全部的列;
                                 限定范围的行;
                                 与一组值相匹配的行;
                                 隐藏有重复的行;
                                 根据多个搜索条件检索行。
        
       分析SELECT语句:
               结构:SELECT [ ALL / DISTINCT ] select_list
                          [ INTO [ new_table_name] ]
                          FROM { table_name/view_name}
                                    [ [ , {table_name2 /view_name2}
                                    [ ...... , { view_name16/ view_name16 } ] ]
                          [ WHERE search_conditions ]
                          [ GROUP BY group_by_list]      
                              [ HAVING search_conditions ]
                              [ ORDER BY order_list [ ASC/DESC ] ]
           
               1)SELECT子句:指定通过查询返回的表的列。
                     语法:SELECT [ ALL/DISTINCT ]
                                                          [ TOP n ]
                                                          < select_list >
                      分析:select_list表示需要检索的字段的列表。若此时是select * ,则系统将返回数据表中的所有字段。
                                    ALL指明查询结果中可 以显示值相同的列,同时all也是系统默认值。
                                    DISTINCT知名查询结果中若返回的值有相同的列时,只返回其中的一列。
                                    TOP n指定返回查询结果的前n项数据。
           
               2)INTO子句:用于将查询结果放到一个新表中
                         语法:INTO  new_table
                         分析:new_table制定了新建表的名称,新表的列由select子句指定的列构成,数据行由where子句指定。
           
               3) FROM子句:指定需要进行数据查询的表。
                         语法:FROM{ < table_source> } [ ,....n]
                         分析:Table_source指明select语句要用到的表、视图等数据源。
             
               4) WHERE子句:指定数据查询的条件,过滤掉不需要的数据行。
                      查询条件:比较查询条件,包括<、>、<=、>=、=、!<、!>、!=
                                          列表查询条件,包括IN、NOTIN
                                          模式查询条件,包括LIKE、NOTLIKE、*(通配符)
                                          空值判断条件,包括IS NULL、IS NOT NULL
                      还有符合条件的上述条件的逻辑组合:AND、OR、NOT
           
               5) GROUP BY子句:指定查询结果的分组条件。
                       语法:GROUP BY
                                     [ all ] group_by_expression [ ,...n]
                                     [ with { cube/rollup } ]
                      分析:group_by_expression指明分组条件,通常是一个列名,但不能是列的别名,对text、ntext、image数据类型限制
                                      all返回所有可能查询的结果组合(即使组合中没有where子句)
                       注意:all不能与cube和rollup同时使用。
                                       cube和rollup的区别下次分析
            
              6)HAVING子句:指定分组搜索条件,通常与GROUP BY子句一起使用。
                      语法:HAVING < search_condition>,与where子句类似。    
                       分析: WHERE子句作用于表和视图,HAVING子句作用于作用于组 
             
              7)ORDER BY 子句:指定查询结果的排序方式。
                        语法:ORDER BY { order_by_expression
                                     [ ASC/DESC] } [ , .....n]
                          分析:order_by_expression指定排序规则
                                      ASC选出的项按升序排列
                                       DESC选出的项按降序排列
             
              8)COMPUTE子句:查询结果的末尾生成一个汇总数据行。
                        语法:COMPUTE
                                     {{ AVG/COUNT/MAX/MIN/SUM}
                                     ( expression) }[,....n]
                                       [ BY expression [ ,....n ] ]
                         分析:expression指定需要统计的列的名称,此列必须包含在select列表中,且不能用别名。
                                     BY expression在查询结果中生成分类统计的行,使用此项必须使用ORDER BY子句(order_by_name)
               
              9)UNION子句:将两个或两个以上的查询结果合并为一个结果集。
                         语法:SELECT语句
                                      UNION[ all ]
                                      SELECT语句
                         分析:UNION子句将从最终结果集中删除重复的记录,如果想保留所有记录,则使用all子句
                                              只能在最后的SELECT语句使用ORDER BY或COMPUTE子句。
                        基本规则:列的数目和顺序在所有查询中一致
                                            数据类型要兼容


 

Tag标签: SQL server   Select语句基础  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规