zoukankan      html  css  js  c++  java
  • SQL语句

    一、语法结构                                                                                                     

     
    select select_list
    [ into new_table ]
    from table_source
    [ where search_condition ]
    [ group by broup_by_expression ]
    [ having search_condition ]
    [order by order_by_expression [ asc | desc ] 
     

    select查询语句中的主要参数说明如下

    select_list:查询的列或者表达式的列表,用逗号进行分隔。 new_table:新的表名。 table_source:要查询的表。如果是多个表,用逗号进行分隔。 search_condition:查询条件。 group_by_expression:分组表达式。 order_by_expression:排序表达式。 asc:升序排序。 desc:降序排序。

    select查询语句字句的功能列表

    子句 主要功能 是否必需
    select 指定由查询返回的列
    from 指定要查询的表
    into 创建新表并将结果行插入新表中
    where 查询条件
    group by 对查询结果进行分组
    order by 对查询结果进行排序
    having 对查询结果进行筛选

     

    二、选择列表                                                                                                    

      选择列表用于定义select语句的结果集中的列

      1、*  查询所有列:

      select * from person  

      *就是结果集合,表示查询person表中的所有列。

      2、distinct  去除重复数据:

       distinct是对所有列作用,也就是说,所有列都相同才算重复数据。

      select distinct name from person

      3、包含函数的查询:

      例如:

      select count(*) from person

    三、from子句                                                                                                 

    from子句实际上就是用逗号分隔的表名、视图名和join字句的列表。使用from子句可以实现如下功能:

    1、列出选择列表和where子句引用的列所在的表和视图。可以使用as子句为表和视图指定别名。

    2、联接类型。这些类型由on子句中指定的联接条件限定。

    分配表名时可以使用如下形式

      •  table_name  as  table alias
      •  table_name  as  table_alias

     需要特别说明的是,如果为表分配了别名,那么T-SQL语句中对该表的所有显示引用都必须使用别名,而不能使用别名。

    四、where子句                                                                                               

     where子句可以筛选结果集的源表中的行。带有where子句的select语句的结构如下:

       select <字段列表>
       from <表名>
       where<条件表达式>

     其中,条件表达式是由各种字段、常量、表达式、关系运算符、逻辑运算符和特殊的运算符组合起来的。

     where子句中的运算符:

     1、关系运算符

      关系运算符用来表示两个表达式之间的比较关系。

    关系运算符 含义
    = 等于
    < 小于
    > 大于
    !=(或<>) 不等于
    >= 大于等于
    <= 小于等于
    !> 不大于
    !< 不小于

     

       2、逻辑运算符

        逻辑运算符用于表示两个表达式之间的逻辑关系:

    逻辑运算符 含义
    not 非(否)
    and
    or

      3、特殊运算符

    特殊运算符 含义
    % 通配符,通常与like配合使用
    _ 通配符,代表严格的一个字符。where name like '_xxx'将查找以xxx结尾的所有4个字母的名字(sxxx,dxxx等)
    [] 指定范围([a-f])或集合([abcdefg])中的任何单个字符。where name like '[a-f]xxxx',将超找以abcdef开头,xxxx结尾的字符。
    [^] 不属于指定范围的([a-f])或集合([abcdefg])的任何单个字符。
    between 定义一个取值范围区间,使用and分开。between开始值与and结束值。
    like 字符串匹配
    in 一个字段的值是否在一组定义的值之中
    exists 子查询有结果集返回(则子查询返回True)
    not exists 子查询没有结果集返回(则子查询返回True)
    is null 字段是否为null
    is not null 字段是否不为null

     在WHERE子句中使用EXISTS(如果使用得当的话)可以大大提高性能。因为使用EXISTS时,只要找到和条件匹配的记录,SQL Server就立即停止。假设有一个包含一百万条记录的表,并且在第三个记录中找到了匹配的记录,那么使用EXISTS选项将避免读取999997条记录!NOT EXISTS以同样的方式工作。

    五、group by子句

      详见地址:http://www.cnblogs.com/kissdodog/p/3365789.html

    六、order by子句

       order by子句用于指定结果集的排序

      1、语法结构:

        select <字段名列表>
        from 数据库表名
        [where <条件表达式>]
        [order by[<字段名或者表达式> [asc|desc],...]]

       order by子句可以搭配where子句,也可以和select、fromD搭配使用,而不需要where子句。

      order by子句的语法如下:

        [ order by { order_by_expression [ asc | desc] } [ ,...n ] ]

    其中主要的参数说明如下:

      order_by_espression:指定要排序的列、列的别名、表达式或者指定为代表选择列表内的名称、别名或表达式的位置的负整数。

      asc:按递增顺序对指定列中的值进行排序。

      desc:按递减顺序对指定列中的值进行排序。

    七、having筛选查询

      详见地址:http://www.cnblogs.com/kissdodog/p/3365789.html

    八、into查询

      into子句将查询结果生成新表,新表的结构由查询字段列表组成。也可以将查询的结果送入tempdb数据库的临时表中,这样关闭服务器之后临时表会自动删除。

      into查询的语法结构:

      SELECT <字段名列表>
      [ into 新的数据表名 ]
      FROM 数据库表名
      [ where <条件表达式> ]
  • 相关阅读:
    LeetCode 769. Max Chunks To Make Sorted
    LeetCode 845. Longest Mountain in Array
    LeetCode 1059. All Paths from Source Lead to Destination
    1129. Shortest Path with Alternating Colors
    LeetCode 785. Is Graph Bipartite?
    LeetCode 802. Find Eventual Safe States
    LeetCode 1043. Partition Array for Maximum Sum
    LeetCode 841. Keys and Rooms
    LeetCode 1061. Lexicographically Smallest Equivalent String
    LeetCode 1102. Path With Maximum Minimum Value
  • 原文地址:https://www.cnblogs.com/feng-NET/p/4542049.html
Copyright © 2011-2022 走看看