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聚合函数,模糊查询,通配符,空值处理。。。。的更多相关文章

  1. 第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;  ...

  2. 千万级SQL Server数据库表分区的实现

    千万级SQL Server数据库表分区的实现 2010-09-10 13:37 佚名 数据库 字号:T | T 一般在千万级的数据压力下,分区是一种比较好的提升性能方法.本文将介绍SQL Server ...

  3. 人人都是 DBA(V)SQL Server 数据库文件

    SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname ...

  4. SQL Server数据库与max degree of parallelism参数

    我们今天主要向大家讲述的是SQL Server数据库中的max degree of parallelism参数,当 SQL Server 数据库在具N个微处理器或是 CPU 的计算机上运行时,它将为每 ...

  5. SQL Server 数据库子查询基本语法

    一.SQL子查询语句 1.单行子查询        select ename,deptno,sal        from emp        where deptno=(select deptno ...

  6. 转:SQL SERVER数据库中实现快速的数据提取和数据分页

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...

  7. SQL Server数据库学习总结

    经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成:对于初学者首先要学的     一图胜“十”言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数 ...

  8. 转载 50种方法优化SQL Server数据库查询

    原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1 ...

  9. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

随机推荐

  1. Stackoverflow上人气最旺的10个Java问题(转ImportNew)

    本文转自:http://www.importnew.com/16841.html 写的确实太好了 1.为什么两个(1927年)时间相减得到一个奇怪的结果? 如果执行下面的程序,程序解析两个间隔1秒的日 ...

  2. Android4.0中蓝牙适配器state machine(状态机)的分析

    今天晓东和大家来一起看一下Android4.0中蓝牙适配器(Bluetooth Adapter)的状态机变化的过程.首先,我们需要了解一下,蓝牙适配器究竟有哪些状态,从代码可以清晰地看到(framew ...

  3. 菜鸟必须知道的linux的文件目录结构

    Linux文件目录结 / 根目录,所有的目录.文件.设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者. /bin bin就是二进制(binary)英文缩写.在一般的系统当中,你都可 ...

  4. JAVA学习第二十九课(经常使用对象API)- String类

    多线程告一段落,開始经常使用对象API的涉及,背也要背下来!.! 日后开发,遇见最多的对象是文字,也就是字符串 String类 字符串是一个特殊对象 字符串一旦初始化就不能够被改变 一.特点 publ ...

  5. 有一种设计风格叫RESTful

    一 前言 刚看了<RESTful Web APIs中文版>.试读了前两章. 每本书的第一章都是抽象得不得了,是整本书的总结:开篇说基础有点简单,从教你怎么向地址栏输入地址訪问网页開始(某人 ...

  6. IKAnalyzer使用停用词词典进行分词

    @Test // 測试分词的效果,以及停用词典是否起作用 public void test() throws IOException { String text = "老爹我们都爱您.&qu ...

  7. Mansory算法分析

    相信大家对mansory排版算法印象十分深刻,它能够十分有效的实现页面紧凑排版,节省空间,并且还显得十分美观.在很多网站,包括鼎鼎有名的pinterest都使用了这个算法来实现排版.这个过程有点象瓦匠 ...

  8. asp.net MVC 验证注解

    对于Web系统,对于用户的输入验证是必须的.不仅需要在客户端对用户的输入进行验证,在服务端也需要对用户的执行进行验证. asp.net MVC中对于验证提供了一种注解机制.注解是一种通用机制,可以用来 ...

  9. node学习第一篇

    创建一个http服务器 //app.js var http = require("http"); function start(req, res){ //res.writeHead ...

  10. Python的基础--对象

    对象(Objects)是python中数据的抽象,python中所有的数据均可以用对象或者是对象之间的关系来表示.每个对象均有标识符(identity).类型(type).值(value). 标识符. ...