sql 语言最基本的功能:
    一、结构化查询 标准语句
    select….  from  表文件
    1、 简单查询功能
    例1 显示 xueji 表中的所有内容
    select  *from  xueji 
    例2 只显示“学号、姓名、入学成绩” 部分信息 select  学号, 姓名 , 入学成绩  from  xueji
    2、条件查询
    例3显示xueji 表中,所有男生的记录。
    select  *  from  xuejiwhere 性别=“男”
    select  *  from  xueji  where 入学成绩>=500
    select  学号,姓名 from  xueji;
    where  性别=“男”  and 入学成绩>=400
    3、按顺序查询:用 order  by 短语
    select  *  from  xueji  ordery  by 入学成绩  desc
    多关键字排序:
    order  by入学成绩 asc ,性别 desc 
select中distinct
    4、分组查询: group
    看看 xueji 表按专业分类
    select  *  from  xueji  group by 专业
    分组后,只显示表文件中不同分类的一个记录 select  专业  from  xueji  group by 专业
    selectdistinct 专业  from  xueji 
    常见的计算函数:
    count( ) 统计数目sum( ) 求和值
    avg( ) 求平均值max( )  min( )
    (1) 求“职工”表的工资总和
    select  sum(工资)  from  职工
    (2)  求平均工资select  avg(工资)  from 职工
    (3) 求总金额
    select  sum(单价*数量)  as  总金额 from表
    指的是本表中,所有 单价*数量的总和。
    (4) 求 xscj 表的记录数
    select  count(*)  from  xscj
    5 分组计算查询:一般分组主要目的是为了计算:  所以,在改错题中,前面有计算函数,后面跟 group by
    语句,而不是 order  by 
    select  性别,  count(*)  from  xueji  group  by 性别
    显示本表中男女各有多少人(多少记录)
    求不同部门的工资平均值,工资总和等。所以,当看到有分组语句时,一般就有计算函数,或有计算函数时,肯定有分组语句。
    6、多表查询:从两个表或多个表中取得字段,形成一个新的关系表。
    例: xueji 表 中有以下字段:
    学号, 姓名, 性别, 专业, 出生日期, 是否团员, 入学成绩.
    chengji 表中有以下字段:
    学号,姓名,数学,英语,语文,政治,总分,平均分
    显示本班同学的 学号,姓名,出生日期,英语,数学,平均分。
    select  xueji.学号,xueji.姓名,出生日期,英语,平均分; from  xueji , chengji  where  xueji.学号=chengji.学号
    注:要显示的内容有共同字段时,该字段前必须指明是哪个表文件
    总结:多表查询是,肯定隐含着两个表之间的连接条件。 从三个表查询时,肯定也是三表之间,两两相连/ 
    7 、多表查询时的超连接形式的书写方法: 例:
    一般形式:
    select  ….. fromxueji, chengji
    where  xueji.学号=chengji.学号 
    超连接的形式:
    select  xueji.学号,总分 from  xueji  join  chengji; on  xueji.学号=chengji.学号
    三表的查询的一般形式:
    select …. from  a,b,c ;
    where  a.  and  b. 三表或多表查询的超连接形式:
    select …. from  a  join  b  join  c ;
    on  b.  a.
    注:on  后面的条件是,先里后外。或者说与 from 后的顺序相反。 
    逻辑运算符  先  not  再  and  再or 连接就是从多个表中取数据
    超连接格式
    select  ... froma  join  b  join  c ;
    on  b...=c...on  a.. =b.. 
    普通连接格式
    select  ...  froma,b,c  where  b.. =c...  and  a..=b...篇二:sql语句关键字over的作用及用法
    sql语句关键字over的作用及用法
    在应用具体的聚合函数、排名函数前对行集的分区和排序。over子句,用于支持窗口的计算,所以一般与排名开窗函数、聚合开窗函数一起使用。
    窗口是用户指定的一组行。开窗函数计算从窗口派生的结果集中各行的值。
    以前使用聚合函数必须分组,即便没有group by 子句,也是默认将表中所有的数据分成了1组,来聚合。通过使用over子句可以在不分组的情况下实现聚合运算,在查询结果集中既包含基础行的数据也包含聚合函数的值。(可以把over()子句理解成是“后台运行的数据”,只是为了让聚合函数或者是排名函数“用一下”,并不影响实际显示的数据。在后台提供数据。) over子句的两种使用方式:
    1.over子句与排名开窗函数一起用,语法:over([partition by 列1] order by 列2)。必须有order by 子句
    2.over子句与聚合开窗函数一起用,语法:over([partition by 列1])不能使用order by子句了。【先演示这个】
    注:当over()子句与聚合函数一起使用时,也可以直接写count(*) over()不在over()子句中进行任何分区,表示把整个表分为一个区。
    第1种使用方式
    over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用。 其参数:over(partition by columnname1 order by columnname2)
    含义:按columname1指定的字段的值,对查询后的结果集进行分组再组内排序,形成结果集中的一个新列。若sql语句最后有order by,则把最终的结果集再整体排序。
    例如:employees表中,有两个部门的记录:department_id =10和20
    sql语句“select department_id ,salary,rank() over(partition
    by department_id order by salary ) from employees ”,就是指在部门10中进行薪水的排名,在部门20中进行薪水排名。如果是没有partition by部分,则是在整个公司内进行排名。
    第2种使用方式
    下面的示例对于查询返回的所有行,将 over 子句与聚合函数一起使用。 在这个示例中,使用 over 子句与使用子查询相比,可以更高效地派生聚合值。
    use adventureworks2012;
    go
    select salesorderid, productid, orderqty
    ,sum(orderqty) over(partition by salesorderid) as total  ,avg(orderqty) over(partition by salesorderid) as avg  ,count(orderqty) over(partition by salesorderid) as count  ,min(orderqty) over(partition by salesorderid) as min  ,max(orderqty) over(partition by sales
orderid) as max from sales.salesorderdetail
    where salesorderid in(43659,43664);
    go
    下面是结果集:
    salesorderid productidorderqty total avgcount min max ------------ ----------- -------- ----------- ----------- ----------- ------ ------ 43659  7761  26 2  12 16 43659  7773  26 2  12 16 43659  7781  26 2  12 16 43659  7711  26 2  12 16 43659  7721  26 2  12 16 43659  7732  26 2  12 16 43659  7741  26 2  12 16 43659  7143  26 2  12 16 43659  7161  26 2  12 16 43659  7096  26 2  12 16 43659  7122  26 2  12 16 43659  7114  26 2  12 16 43664  7721  14 1  8  14 43664  7754  14 1  8  14 43664  7141  14 1  8  14 43664  7161  14 1  8  14 43664  7772  14 1  8  14 43664  7713  14 1  8  14 43664  7731  14 1  8  14 43664  7781  14 1  8  14篇三:经典mssql语句大全和常用sql语句命令的作用