T-SQL查询语句(一):单表查询

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

T-SQL查询语句(一):单表查询

Posted on 2008-10-07 19:54 罗一恒阅读(531) 评论(0)编辑收藏

############################################

查询语句--SELECT

############################################

查询select: 1。单表查询2。多表查询3。嵌套查询

分类

1)单表查询

2)多表查询

A.连接查询

B.子查询

①一般子查询②相关子查询

***************************************

SQL查询语句《一》:单表查询

1.查询全部记录:select * from table_name

2.查询指定字段记录:select 字段列表from table_name

3.过滤相同记录:select Distinct 字段列表from table_name

使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。

使用distinct会减慢查询速度,数量大的查询更明显>

4.带表达式的查询:select s_name,year(s_birthday) as year from table_name

5.指定查询结果的查询

select top n * from table_name

select top n PERCENT * from table_name

(返回前/后n行,前/后n%的数据)

6.指定查询路径的查询:

select * from database_name.dbo.table_name

形式:数据库名.数据库表拥有者.表名

(可以跨越数据库和使用者进行查询)

7.存储查询结果到另一个表

select 字段列表into 新表名from 表名

select sno,cno,degree into scorekkk from score

select sno,cno,degree into tempdb.#scorekkklll from score

<#为虚拟表,可一跨数据库创建!>

8.更改列表名显示的查询

select 字段名1 as ''A'',字段名2 as ''B'' from 表名

select "A"=字段名1,"B"=字段名2 from 表名

select 字段名1"A",字段名2"B" from 表名

9.条件查询

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

条件表达式运算符:

比较运算符(=,<,<=,>,>=,!<,!>,!=,<>)

逻辑运算符(or,and,not)

范围说明(between and,not between and)

可选值列表(in,not in)

模式匹配(like,not like)

是否为空值(is null,is not null)

<注:字符型字段必须用单引号,数字型字段则不用;like和not like适合字符型字段查询。> like 子句与通配符一起使用,

Like "字符串",字符串含通配符或空格

%,一个或多个任意字符;

_,一个任意字符;

[],方括号中的任意一个字符;

[^],任意一个在括号中没有的字符。

11.排序查询

select 字段名列表from 表名[where 条件表达式] order by 字段名表达式desc/asc

select * from Sclass order by cno asc,degree desc

<使用ORDER BY子句对查询返回的结果按一列或多列排序。

ORDER BY子句的语法格式为:ORDER BY {column_name [ASC|DESC]} [,…n]

其中ASC表示升序,为默认值,DESC为降序。ORDER BY不能按ntext、text和image的数据类型进行排序。>

12.分组查询

select 字段名列表from 表名[where 条件表达式] group by 字段名

select 字段名列表from 表名[where 条件表达式] group by 字段名Having <筛选表达式>

select cno,avg(degree) as chengji from score group by cno

select cno,avg(degree) as chengji from score group by cno Having avg(degree)>80 <字段名列表中包含聚合函数时,则计算每组的汇总值。

如果使用Group by子句,字段名列表中任一非聚合表达式内的所有列都必需包含在Group by列表中,或者Group by表达式必须与选择列表表达式完全匹配。>

筛选查询

故此Having只能配合group by子句使用。>

当Where子句,Group by子句,Having子句同时使用时,其顺序如下:

①执行Where子句,从表中选取行;

②由Group By分组;

③执行Having子句选取满足的分组条件。

聚合函数:使用聚合函数,实现数据统计。

AVG:计算平均数

Count(*):统计查询输出的记录总数

Count():统计指定列中选择的记录总数

Max:最大值

Min:最小值

Sum:计算总和

Stdev:计算统计标准偏差

Var:统计方差

相关文档
最新文档