博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MSSQL重拾记录
阅读量:4882 次
发布时间:2019-06-11

本文共 1517 字,大约阅读时间需要 5 分钟。

:distinct修饰多列

select
distinct
age
,
name
from
test
.
dbo
.
t1

这里就以age和name列为基准,比如

12,a
13,b
12,a
13,d
执行结果就是
12,a
13,b
13,d

:order by

如果不适用order by,检索出的数据的顺序没有意义,数据可能进行更新或删除,则默认顺序会受到SQL Server重用回收存储空间的影响。

select  
id
,
age
,
name
from
test
.
dbo
.
t1
order
by
age
desc
,
name
asc

order by多列时,仅在多个行具有相同的age值时才对name进行排序。

:where字符类型默认不区分大小写

:%通配符

%表示匹配出现任意次数的任何字符,默认不区分大小写,不能匹配NULL。

select  
*
from
test
.
dbo
.
t1
where
name
like
'%a%'

 :_通配符

_通配符值匹配单个字符,需要注意:char和nchar是固定长度(创建表时指定的长度),输入数据没有达到长度就自动以英文空格填充,varchar和nvarchar是变动长度的。

列name 是nchar(50)类型,然后填充abc,aaa,cab,ddd 4条数据

select
*
from
t1
where
name
like
'_a_'

结果不会查询到数据,因为name后面被填充了空格,将name修改为nvarchar(50)类型结果输出aaa,cab

:[]通配符

匹配指定中括号内的一个字符,只能匹配单个字符,[AB]%表示A或B开头(默认不区分大小写),使用^ 表示否定,比如[^A]%。

select
*
from
t2
where
name
like
'_[^a]%'

上面语句匹配name字段第二个字符不是a的列

:聚集函数

AVG()只能确定特定数值列的平均值,忽略列值为NULL的行。

Count(*)对表中行的数目进行计数,不管表列中是否包含NULL。
Count(column)对特定列进行计数,忽略NULL值。
Max(),Min(),Sum()都忽略列值为NULL的行。
上面所有的聚集函数都可以指定distinct参数,计算只包含不同的值。

:group by

group by子句中列出的每个列都必须是检索列或有效的表达式(不能是聚集函数)

如果在select中使用表达式,则必须在group by子句中指定相同的表达式,不能使用别名。

--group by使用表达式
select
AVG(
distinct
age
),
LTRIM(
name)
from
t2
group
by
LTRIM(
name)

如果分组列中具有NULL值,则NULL将作为一个分组返回。

group by子句必须出现在where子句之后,order by子句之前。

:过滤分组

where过滤行,having过滤分组,where在数据分组前进行过滤,having在数据分组后进行过滤。

select
name
,
COUNT(
name)
from
t2
group
by
name
having
COUNT(
name)
>
1

本文版权归kennyMc和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/kennyMc/archive/2012/12/29/2839157.html

你可能感兴趣的文章
【转载】C#防SQL注入过滤危险字符信息
查看>>
一:两数之和
查看>>
Innodb中的事务隔离级别和锁的关系
查看>>
CentOS 7 删除 virbr0 虚拟网卡
查看>>
linux下保护视力、定时强制锁定软件: Workrave
查看>>
使用shell脚本自动化对硬盘进行分区
查看>>
Linux-重装系统之phpmyadmin安装
查看>>
POJ 1426 Find The Multiple(打表)
查看>>
PHP 在xampp中为项目访问配置本地域名的方法
查看>>
你常用但是你经常得搜的一些mysql命令
查看>>
第二组第八周学习心得
查看>>
SQL Server 中对XML数据的五种基本操作
查看>>
使用nginx实施负载均衡
查看>>
用户·角色·权限·表
查看>>
Winsock出错引起的断网
查看>>
函数的指针参数强制类型转换异常
查看>>
以ActiveMQ为例JAVA消息中间件学习【2】
查看>>
C#微信公众号——自定义菜单
查看>>
第十五周
查看>>
mysql千万级测试1亿数据的分页分析测试
查看>>