SQL Server之Select语句基础

来源:互联网 发布:淘宝怎样申请换货 编辑:程序博客网 时间:2024/06/09 17:51

        

      由于后来发现这部分没有总结完,于是做了个补充SELECT语句的补充——嵌套查询和联接查询

      SQL server的语句分为三类:

             数据定义语言(DDL):用于定义数据结构。常见语句有(CREATE、DROP、ALTER)
                数据操纵语言(DML):用于检索和修改数据结构。常见语句有(INSERT、UPDATE、SELECT、DELETE)
                数据控制语言(DCL):用于规定数据库用户的使用权限。常见语句有:(GRANT、REVOKE)
        其中最重要的就是数据操纵语句中的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子句。
                        基本规则:列的数目和顺序在所有查询中一致
                                            数据类型要兼容

原创粉丝点击