你的位置:首页 > 软件开发 > 数据库 > SQL Server DML(SELECT)常见用法(二)

SQL Server DML(SELECT)常见用法(二)

发布时间:2015-06-14 00:00:08
1 引言  上篇讲到SQL Server中DML的基本使用方法,其中SELECT语句是最常用的语句,其功能强大,结构复杂,下面通过例子,具体介绍其使用方法。2 SELECT查询语句  SELECT语句从数据表或视图中查找数据,SELECT语法归纳如下:    [WIT ...

1   引言

  上篇讲到SQL Server中DML的基本使用方法,其中SELECT语句是最常用的语句,其功能强大,结构复杂,下面通过例子,具体介绍其使用方法。

2 SELECT查询语句

  SELECT语句从数据表或视图中查找数据,SELECT语法归纳如下:

    [WITH <common_table_expression>]

    SELECT select_list [INTO new_table_name]

    [FROM table_source] [WHERE search_condition]

    [GROUP BY group_by_expression]

    [HAVING search_condition]

    [ORDER BY order_expression [ASC | DESC] ]

  假设现有如下三张表格,名称分别为Student、Course和Grade,下面使用例子具体介绍各个子句的使用方法。

    SQL Server DML(SELECT)常见用法(二)SQL Server DML(SELECT)常见用法(二)

            Student                        Course

    SQL Server DML(SELECT)常见用法(二)

          Grade

3 简单查询

  • WITH子句

  WITH子句用于指定临时命名的结果集,这些结果集称为共用表表达式(CTE),来自简单的查询。也就是说,先通过WITH子句查找出一个临时的表,再在该临时表中进行查询。语法如下(语法格式,大写为关键字,[]为可选项,[,...]为可重复前一项):

    WITH expression_name [(column_name [,…])] AS

    (CTE_query_definition)

    CTE_query_definition: 指定一个其结果集填充共用表达式的SELECT语句。

  例如,在WITH子句中查找Student的年龄分布,放入临时表AgeReport中,再查找AgeReport表,SQL语句如下:

     SQL Server DML(SELECT)常见用法(二)

  结果如下:

     SQL Server DML(SELECT)常见用法(二)

  • SELECT……FROM子句

  SELECT指明要读取的信息,FROM指定从中获取数据的一个或多个表。SELECT中为查询的列取别名方法:

  别名 = 列名

  列名 AS 别名

  列名 别名

  例如,查询Student表中student_no和name并设置别名为学号和姓名:

     SQL Server DML(SELECT)常见用法(二)

  结果如下:

     SQL Server DML(SELECT)常见用法(二)

  •  INTO子句

  创建新表并将查询结果插入新表中。

  • WHERE子句
  1. 逻辑运算符(NOT、AND、OR)

    [NOT] boolean_expression

    Boolean_expression AND boolean_expression

    Boolean_expression OR boolean_expressio

  2.  比较运算符

    = > < >= <= <>

    例如,查找性别为女,年龄小于18的student:

      SQL Server DML(SELECT)常见用法(二)

      SQL Server DML(SELECT)常见用法(二)

  3.  LIKE关键字

    Match_expression [NOT] LIKE pattern [ESCAPE escape_expression]

    通配符% _ [] [^],%可匹配任何0个或多个字符,_匹配一个字符,[]指定范围或集合,如  [a-f]或[abcdef]表示其中的一个字符,[^]同[]相反。

    例如,查找姓李的学生:

      SQL Server DML(SELECT)常见用法(二)

      SQL Server DML(SELECT)常见用法(二)

   4.  BETWEEN关键字

    BETWEEN...AND和NOT BETWEEN… AND

   5.  IS (NOT) NULL关键字

    在WHERE子句中,不能用=来判断NULL,只能用IS (NOT) NULL

    例如,超找成绩表中,成绩为空的记录:

       SQL Server DML(SELECT)常见用法(二)

      SQL Server DML(SELECT)常见用法(二)

  6.  IN关键字

    使用IN关键字来指定列表搜索的条件,确定指定的值是否与子查询或列表中的值相匹配。

    Test_expression [NOT] IN (subquery | expression [,...])

  7.  ALL、SOME、ANY关键字

    比较标量值和单列集中的值,与比较运算符和子查询一起使用。

    Scalar_expression {= | <> | > | >= | < | <= } {ALL | SOME | ANY} (subquery)

    例如,查找学生中年龄比心雨和李小小都大(> ALL)的学生:

       SQL Server DML(SELECT)常见用法(二)

       SQL Server DML(SELECT)常见用法(二)

  8.  EXISTS关键字

    用于指定一个子查询是否存在

    EXISTS subquery

  • GROUP BY子句

  表示按照一个或多个列或表达式的值将一组选定行组合成一个摘要行集,针对每一组返回一行。

    GROUP BY group_by_expression [,...]

  SELECT子句必须包括在聚类函数或GROUP BY子句中。常用的行聚合函数如下:

COUNT(*)

 

返回组中的项数

COUNT([ALL | DISTINCT] 列名])

 

返回某列的个数

AVG([ALL | DISTINCT] 列名])

 

返回某列的平均值

MAX([ALL | DISTINCT] 列名])

 

返回某列的最大值

MIN([ALL | DISTINCT] 列名])

 

最小值

SUM([ALL | DISTINCT] 列名])

 

总和

STDEV([ALL | DISTINCT] 列名])

 

标准偏差

STDEVP([ALL | DISTINCT] 列名])

 

总体标准偏差

VAR([ALL | DISTINCT] 列名])

 

方差

VARP([ALL | DISTINCT] 列名])

 

总体方差


 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:SQL Server DML(SELECT)常见用法(二)

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。