SQL server 学习笔记1

1.查询安装的排序规则选项喝当前的排序规则服务器属性

select * from fn_helpcollations();

2.查看当前服务器的排序规则

select serverproperty(‘Collation‘) as ServerCollation;

3.修改数据库DB1的排序规则,使他区分大小写

create database DB1

go

alter database DB1

collate SQL_Latin1_General_CP1_CS_AS;

go

select databasepropertyex(‘DB1‘,‘Collation‘) as DataBaseCollation

4.SQL server不仅可以在服务器、数据库、和列级别设置排序规则,甚至也可以在单独的查询级别设置排序规则。

select * from Product order by name Collate Danish_Norwegian_CI_AI

5.一个有意思的现象,下面查找product表中6个最低的价格:

select top 6 productNumber,Name,ListPrice
from product  order by ListPrice desc 

结果:

productNumber
Name
ListPrice
num1 name1 4000
num2 name2 4000
num3 name3 4000
num4 name4 4000
num5 name5 4000
num6 name6 5000

看上去,查询简洁且结果不错,但它是错的。如果查看按价格排序的原始数据,你就会发现价格为4000的有5行,而价格位5000的有4行。如果想让4行全部显示出来,就需要用with ties选项,它允许最后的位置包含多行,前提是这些行的值在order  by 字句使用的列中有相同的值。查询如下:

select top 6 with ties  productNumber,Name,ListPrice
from product  order by ListPrice desc 
productNumber
Name
ListPrice
num1 name1 4000
num2 name2 4000
num3 name3 4000
num4 name4 4000
num5 name5 4000
num6 name6 5000
num7 name7 5000
num8 name8 5000
num9 name9 5000
时间: 2024-10-09 23:42:24

SQL server 学习笔记1的相关文章

【SQL Server学习笔记】事务、锁定、阻塞、死锁

http://blog.csdn.net/sqlserverdiscovery/article/details/7712068 Column name Data type Description       blocked smallint ID of the session that is blocking the request. If this column is NULL, the request is not blocked, or the session information of

SQL server 学习笔记2

select *from lol --top 关键字 select top 3 *from lol--查询前三行 select top 3 *from lol where age>22 --加入条件 select top 3 name,wuqi from lol where age>22 -- --关键字 distinct 查询不同项 去重 select distinct name from lol --查询不同名字的行 --order by 升序 select *from lol order

SQL server 学习笔记

select *from student--查询数据库 create database s20150417 --新建数据库 drop database [20150325] --删除数据库 数字开头的需要用[]括起 use s20150417 --使用数据库 go --连接符 不写也可以 create table student--创建表 ( code int not null,--列 name varchar(50) not null,--列 sex int,--列 degree decima

SQL Server 2012笔记分享-46:如何快速学习T-SQL语句

对于初学者来说,T-SQL语句的编写一直是个难题,初学者还是习惯使用图形界面来做相关的SQL方面的维护工作.但是在一个稍微复杂大型的SQL场景中,如果我们能够快速的掌握和理解SQL语句的编写和使用,那么会使我们的运维工作达到事半功倍的效果. 其实对于SQL server 2012来说,本身就提供了很多途径来帮助初学者获取日常管理任务的对应T-SQL脚本.下面我们来举几个快速获取T-SQL脚本的例子. ================================================

SQL Server 2012笔记分享-3:版本对比

SQL server 2012的版本及版本的概述如下 SQL Server 版本 Enterprise(64 位和 32 位) 提供了全面的高端数据中心功能,性能极为快捷.虚拟化不受限制,还具有端到端的商业智能 - 可为关键任务工作负荷提供较高服务级别,支持最终用户访问深层数据. Business Intelligence(64 位和 32 位) 提供了综合性平台,可支持组织构建和部署安全.可扩展且易于管理的 BI 解决方案. 它提供基于浏览器的数据浏览与可见性等卓越功能.功能强大的数据集成功能

SQL Server 2012笔记分享-5:理解SQLOS

描述 SQLOS是一个单独的应用层,它位于SQLServer数据库引擎的最低层,SQLServer和SQL Reporting Services都是在顶层运行.SQLOS介于windows操作系统和SQL server之间. 为什么开发SQLOS SQLServer的早期版本在存储引擎和实际操作系统之间使用瘦接口层,通过该接口层,SQLServer可以调用操作系统来执行内存分配,计划资源,线程和工作管理,以及同步对象.不过,SQLServer中需要访问这些接口的服务可以位于引擎的任何部分.SQL

SQL Database学习笔记

1. linux下快速安装MariaDB: MariaDB 是 一个采用 Maria 存储引擎的  MySQL  分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发 的免费开源的数据库服务器 . 本文介绍了在linxu下一个简单的安装 方法(在OpenSuse下测试成功): (摘自:http://www.2cto.com/database/201307/229102.html) # tar zxvf mariadb-5.5.31-linux-x86_64.

SQL SERVER 读书笔记:(一)

最近一直在读<SQL SERVER 2008完全手册>,看电子书一直没有做笔记的习惯,所以很多东西学了又忘记了,基本上等于没学.. 熟悉的和已经掌握的知识点不再记录,这里只记录下学习中比较生僻的知识点: 数据库引擎: 存储和处理关系的,负责完成数据的存储.处理和安全管理. Analysis Services: identity属性: 使用identity可以将某列设置成标识列,实现表的行数自增加. identity 必须指定两个值: 种子值和增量值. identity(seed, increm

SQL Server 2012笔记分享-54:数据库文件管理1

(一)添加文件 可以在线执行,不影响数据库使用 ,如图. 添加完成后,如图所示. 也可以通过脚本的形式来添加,如图. (二)删除文件 可以在线执行,不影响数据库使用 . 只有当文件中的实际使用空间为空时才能被成功执行 . (三)移动文件到不同的磁盘路径下 必须先将数据库脱机,将导致数据库暂时不可用 详情参考:http://msdn.microsoft.com/zh-cn/library/ms345483.aspx 若要将移动数据或日志文件作为计划的重定位的一部分,请执行下列步骤: 1. 运行以下