关于SQL Server查询语句的使用

一.查询第二个字母是t或者a的雇员的全部信息


代码如下:

select *
 from employees
 where firstname like '_[t,a]%'

注意:在sql中%表示字符串,所以不可像matlab一样用其注释,两个双斜线好像也不行,/**/可以,有网友说sql单行注释为--

二.更改字段名


代码如下:

select '名字' = firstname ,'姓氏' = lastname
 from employees
 where firstname like '_[t,a]%'

或者


代码如下:

select  firstname as '名字' , lastname as '姓氏'
 from employees
 where firstname like '_[t,a]%'

三.top关键字


代码如下:

/*检索出符合条件的前70%条记录*/
 select  top 70 percent firstname as '名字' , lastname as '姓氏'
 from employees
 where firstname like '_[t,a]%'1 /*检索出符合条件的前2条记录*/
 select  top 2 firstname as '名字' , lastname as '姓氏'
 from employees
 where firstname like '_[t,a]%'

四.union关键字
注意:标准sql只提供了并操作,未提供交(intersection)和差(minus)操作。


代码如下:

select *
 from employees
 where title = 'Sales Manager'
 union
 select *
 from employees
 where address is not null

显示:

服务器: 消息 8163,级别 16,状态 4,行 1
不能以 DISTINCT 方式选择 text、ntext 或 image 数据类型。


代码如下:

select *
 from employees
 where title = 'Sales Manager'
 union all
 select *
 from employees
 where address is not null

查询分析其中的分析查询(对号)是看下是否有语法错误(ctrl + F5),执行查询(右三角)(F5)是显示结果的若有语法错误则不执行。

五.compute关键字

compute子句需要以下信息:
 可选的By关键字可按对一列计算指定的行聚合
 行聚合函数:sum,avg,min,max,count
 要对其执行行聚合函数的列
当compute带有可选的By子句时,符合select条件的每个组都有两个结果集:
 每个组的第一个结果集是明细行集,其中包含该组的选择列表信息
 每个组的第二个结果集有一行,其中包含该组COMPUTE子句中所指定的聚合函数的小记


代码如下:

select sex,sclass,score
 from student
 order by sex
 compute sum(score) by sex

注意:order by是必须的,并且 compute by后的参数应该在order by后的参数中出现过


代码如下:

select sex,sclass,score
 from student
 compute sum(score)

(0)

相关推荐

  • SQL Server SQL高级查询语句小结

    Ø 基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 select distinct sex from student; --count 统计 select count(*) from student; select count(sex) from student; select count(distinct sex) from student; --top

  • 强制SQL Server执行计划使用并行提升在复杂查询语句下的性能

    通过观察执行计划,发现之前的执行计划在很多大表连接的部分使用了Hash Join,由于涉及的表中数据众多,因此查询优化器选择使用并行执行,速度较快.而我们优化完的执行计划由于索引的存在,且表内数据非常大,过滤条件的值在一个很宽的统计信息步长范围内,导致估计行数出现较大偏差(过滤条件实际为15000行,步长内估计的平均行数为800行左右),因此查询优化器选择了Loop Join,且没有选择并行执行,因此执行时间不降反升. 由于语句是在存储过程中实现,因此我们直接对该语句使用一个undocument

  • 详解SQL Server的简单查询语句

    前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开始正式步入学习SQL中简单的查询语句,简短的内容,深入的理解. 简单查询语句 所有复杂的语句都是由简单的语句组成基本都是由SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY等组成,当然还包括一些谓词等等.比如当我们要查询某表中所有数据时我们会像如下进行. SELECT

  • sql server查询语句阻塞优化性能

    在生产环境下,有时公司客服反映网页半天打不到,除了在浏览器按F12的Network响应来排查,确定web服务器无故障后.就需要检查数据库是否有出现阻塞 当时数据库的生产环境中主表数据量超过2000w,子表数据量超过1亿,且更新和新增频繁.再加上做了同步镜像,很消耗资源. 这时就要新建一个会话,大概需要了解以下几点: 1.当前活动会话量有多少? 2.会话运行时间? 3.会话之间有没有阻塞? 4.阻塞时间 ? 查询阻塞的方法有很多.有sql 2000 的sp_lock, 有sql 2005及以上的d

  • SQL Server查询语句大全集锦

    一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段. 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(包括局

  • 关于SQL Server查询语句的使用

    一.查询第二个字母是t或者a的雇员的全部信息 复制代码 代码如下: select * from employees where firstname like '_[t,a]%' 注意:在sql中%表示字符串,所以不可像matlab一样用其注释,两个双斜线好像也不行,/**/可以,有网友说sql单行注释为-- 二.更改字段名 复制代码 代码如下: select '名字' = firstname ,'姓氏' = lastname from employees  where firstname lik

  • SQL Server 游标语句 声明/打开/循环实例

    SQL Server游标语句使用方法: 复制代码 代码如下: --声明一个游标 DECLARE MyCursor CURSOR FOR SELECT TOP 5 FBookName,FBookCoding FROM TBookInfo//定义一个叫MyCursor的游标,存放for select 后的数据 --打开一个游标 OPEN MyCursor//即打开这个数据集 --循环一个游标 DECLARE @BookName nvarchar(2000),@BookCoding nvarchar(

  • 教你如何看懂SQL Server查询计划

    对于SQL Server的优化来说,优化查询可能是很常见的事情.由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQL Server查询计划.毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正. 首先,打开[SQL Server Management Studio],输入一个查询语句看看SQL Server是如何显示查询计划的吧. 说明:本文所演示的数据库,是我为一个演示程序专用准备的数据库,可以在此网页中下载. select v.O

  • Sql Server 查询性能优化之走出索引的误区分析

    据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是,或者干脆把整个查询SQL直接发给DBA,让DBA直接帮忙优化了,所以造成的状况就是开发人员对于索引的理解.认识很局限,以下就把我个人对于索引的理解及浅薄认识和大家分享下,希望能解除一些大家的疑惑,一起走出索引的误区 误区1.在表上建立了索引,在查询时用到了索引的列,索引就一定会生效 首先明确下这样的

  • SQL Server查询前N条记录的常用方法小结

    本文实例讲述了SQL Server查询前N条记录的常用方法.分享给大家供大家参考.具体如下: SQL Server查询前N条记录是我们经常要用到的操作,下面对SQL Server查询前N条记录的方法作了详细的介绍,如果您感兴趣的话,不妨一看. SQL Server查询前N条记录: 因为id可能不是连续的,所以不能用取得10<id<20的记录的方法. 有三种方法可以实现: 一.搜索前20条记录,指定不包括前10条 语句: 复制代码 代码如下: select top 20 * from tbl w

  • SQL Server查询某个字段在哪些表中存在

    一.查询SQL Server中所有的表 SQL语句: SELECT * FROM sys.tables name列表示所有的表名. 二.查询SQL Server中所有的列 SQL语句: SELECT * FROM sys.columns name列表示所有的字段名称. 两张表根据object_id进行关联 语法: select * from sys.tables tinner join sys.columns c on t.object_id=c.object and c.name='要查询的字

  • SQL Server查询结果导出到EXCEL表格的图文教程

    需求: 将查询的两列数据导出到excel中 1.选择数据库,右键任务→导出数据,打开导入导出向导,单击下一步 2.在打开的SQL Server导入和导出的向导中,选择服务器名称.代表本机,身份验证使用SQL Server身份验证,输入用户名,密码,选择数据库,单击下一步 3.选择目标为Mircosoft Excel,选择Excel需要保存的路径,单击下一步 4.选择编写查询以指定要传输的数据,单击下一步 5.复制SQL语句到对话框中,单击下一步 6.可以编辑映射,查看预览,剩余的一直下一步,直至

  • SQL Server UPDATE语句的用法详解

    SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用中数据库中的数据改动是免不了的.通常,几乎所有的用户数据库中的大部分数据都要进行某种程度的修改.在SQL Server数据库中要想修改数据库记录,就需要用UPDATE语句,UPDATE语句就是为了改变数据库中的现存数据而存在的.这条语句虽然有一些复杂的选项,但确实是最容易学习的语句之一.这是因为在大

随机推荐