SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。
top关键字:写在select后面 字段的前面
比如你要显示查询的前5条记录,如下所示:
select top 5 * from Student
一般情况下,top是和order by连用的
order by用在表名的后面 order by后面就填你要按它排序的字段,是升序排序(从小到大排序)
percent:百分比 %=percent
比如要显示5%的数据处理,不能写top 5%,而是top 5 percent
提示:如果top 5 percent出来的数是3.1条数据的话,是取四条数据,而不是3条
使用distinct去除重复记录:
注意:重复记录与表的原始数据无关,它只关注通过查询语句查询出来之后的结果集,如果虚拟结果集的每一列的值都一样,那么才算重复记录,如果有一个值不一样,那么就是一条单独的记录
--sql聚合函数--
count();求满足条件的记录数,与值无关
注意:count()括弧中随意传入参数,因为它与具体值无关,只与记录数有关,一般传入0或 * 号。如count(*)
max();求最大值 括弧中传入字段名 如max(age)
min();求最小值
sum();求和 括弧中传入要求和的字段名
avg();求平均值 括弧中传入要求平均值的字段名
注意:sum/avg不能针对日期和名字计算
--模糊查询--
注:select 字段列表 from 表列表 where 条件 Order by 排序字段
下面的都是作为条件,用在where后面
1.between...and 相当于>=n,<=m 优先使用between...and,因为做过优先处理,效率高
它是用来描述数值或日期值的,对字符串没用
2.in相当于and,and,and 其实可以in(1,2,3)三选一
3.not in(1,2,3)不在这个范围之内
以上的between...and,in,not in 都是用在where后面的字段的后面
通配符:
1 %代表任意个任意字符
2 _:它就代表一个字符占位,相当于.代表一个具体的字符
3 []:相当于指定一个具体的范围或者具体的值范围。这点用 法与正则表达式一样
4 [^]:取反
like:像。。一样:如果要使用通配符,则必须配合 模糊查询关键字
空值处理:null是指不知道,而不是像C#里面一样说没有分配地址 所以判断是否为null值的时候不能用等号(=),而是用is,如:select * from Student where name is null
判断的是学生表中的name字段是不是null
ISNULL()方法:用在select 字段 的后面,为的是判断所查询出的结果(这个字段)是否为null,如果为null值就用指定内容进行替换如下所示:
Select *,ISNULL(name,‘没有写名字’) from Student
数据排序:order by
排序默认是升序排序
升序:asc
降序:desc
如果排序有多个字段,是指先按第一个字段进行排序,相同的记录再按第二个字段排序
如:select * from Student order by sex,name desc
分组统计:先分组再统计
分组:group by 对指定的字段进行分类 用再表的后面 然后group by 后面再接要被分组的字段
如:
--得到男生女生的总人数
Select sex,Count(*) from Student group by sex
查询语句的顺序:
Select from where group by having order by
注意:where是对源数据做筛选的。它只能去使用from后面的表中所指的列
Where条件后面不能使用聚合函数,如果使用了就会报错
having:
如果是对分组之后的结果集做筛选,那么就需要使用having,因为where条件后面不能释怀聚合函数
如:
Select classId,Count(*) from Student group by classId having COUNT(*) >2
Sql的分类
1、DDL(数据定义语言,建表,建库等语言)
2.DML(数据操作语言mutipulation) 增加删除修改和查询 也叫CUID:数据库的增删改查3.DCL(数据库控制语言)
类型转换
1.--cast(源数据 as 目标类型)--
2.--Convert(目标类型,源数据,格式(日期值的格式))
Select getdate()--得到当前系统时间 select GETDATE()
联合结果集union (很少使用)
Union all :不管结果是否重复,都显示出来
Union:重复的数据不显示出来
Union在合并多个结果集的限制:
1.要有相同数量的列
2.对应的列的类型要一致,类型可以强制转换()cast或Convert
SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。的更多相关文章
- 第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数
第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; ...
- 千万级SQL Server数据库表分区的实现
千万级SQL Server数据库表分区的实现 2010-09-10 13:37 佚名 数据库 字号:T | T 一般在千万级的数据压力下,分区是一种比较好的提升性能方法.本文将介绍SQL Server ...
- 人人都是 DBA(V)SQL Server 数据库文件
SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname ...
- SQL Server数据库与max degree of parallelism参数
我们今天主要向大家讲述的是SQL Server数据库中的max degree of parallelism参数,当 SQL Server 数据库在具N个微处理器或是 CPU 的计算机上运行时,它将为每 ...
- SQL Server 数据库子查询基本语法
一.SQL子查询语句 1.单行子查询 select ename,deptno,sal from emp where deptno=(select deptno ...
- 转:SQL SERVER数据库中实现快速的数据提取和数据分页
探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...
- SQL Server数据库学习总结
经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成:对于初学者首先要学的 一图胜“十”言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数 ...
- 转载 50种方法优化SQL Server数据库查询
原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...
- C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用
C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备) https://blog.csdn.net/u013519551/article/details/51220841 1. . ...
随机推荐
- Stackoverflow上人气最旺的10个Java问题(转ImportNew)
本文转自:http://www.importnew.com/16841.html 写的确实太好了 1.为什么两个(1927年)时间相减得到一个奇怪的结果? 如果执行下面的程序,程序解析两个间隔1秒的日 ...
- Android4.0中蓝牙适配器state machine(状态机)的分析
今天晓东和大家来一起看一下Android4.0中蓝牙适配器(Bluetooth Adapter)的状态机变化的过程.首先,我们需要了解一下,蓝牙适配器究竟有哪些状态,从代码可以清晰地看到(framew ...
- 菜鸟必须知道的linux的文件目录结构
Linux文件目录结 / 根目录,所有的目录.文件.设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者. /bin bin就是二进制(binary)英文缩写.在一般的系统当中,你都可 ...
- JAVA学习第二十九课(经常使用对象API)- String类
多线程告一段落,開始经常使用对象API的涉及,背也要背下来!.! 日后开发,遇见最多的对象是文字,也就是字符串 String类 字符串是一个特殊对象 字符串一旦初始化就不能够被改变 一.特点 publ ...
- 有一种设计风格叫RESTful
一 前言 刚看了<RESTful Web APIs中文版>.试读了前两章. 每本书的第一章都是抽象得不得了,是整本书的总结:开篇说基础有点简单,从教你怎么向地址栏输入地址訪问网页開始(某人 ...
- IKAnalyzer使用停用词词典进行分词
@Test // 測试分词的效果,以及停用词典是否起作用 public void test() throws IOException { String text = "老爹我们都爱您.&qu ...
- Mansory算法分析
相信大家对mansory排版算法印象十分深刻,它能够十分有效的实现页面紧凑排版,节省空间,并且还显得十分美观.在很多网站,包括鼎鼎有名的pinterest都使用了这个算法来实现排版.这个过程有点象瓦匠 ...
- asp.net MVC 验证注解
对于Web系统,对于用户的输入验证是必须的.不仅需要在客户端对用户的输入进行验证,在服务端也需要对用户的执行进行验证. asp.net MVC中对于验证提供了一种注解机制.注解是一种通用机制,可以用来 ...
- node学习第一篇
创建一个http服务器 //app.js var http = require("http"); function start(req, res){ //res.writeHead ...
- Python的基础--对象
对象(Objects)是python中数据的抽象,python中所有的数据均可以用对象或者是对象之间的关系来表示.每个对象均有标识符(identity).类型(type).值(value). 标识符. ...