SQL Server 拾遗(一)

主键:可以将多个列设为主键,但是所有列的值的组合必须唯一(单个列的值可以不唯一)。

 

常用系统存储过程:

SP_DATABASES;       //获取可用的数据库列表

USE [数据库名] //使用当前库

SP_TABLES;               //获取当前数据库内全部数据表列表

SP_TABLES NULL,DBO,[数据库名],"'TABLE'";            //获取当前数据库内指定条件的数据表列表

SP_SERVER_INFO;   //显示服务器状态信息

SP_SPACEUSED;     //显示数据库使用(和未使用)的空间量

SP_HELPUSER;      //显示可用的用户账号

SP_HELPLOGINS;    //显示登陆用户及它们具有的权限

 

 

SELECT语句:

SELECT TOP(百分比) PERCENT * FROM [表名];   //按百分比获取表中的行

 

IN操作符:

SELECT * FROM [表名] WHERE (1= 条件1) OR (1= 条件2)

等效于

SELECT * FROM [表名] WHERE  1 in (条件1, 条件2)

而且后者效率更高。

 

方括号[]通配符:

SELECT * FROM [表名] WHERE  1 LIKE ‘[字母1字母2]%’//查找列1中以字母1字母2开头的行

 

拼接字段:

SELECT 1 +分隔符+ 2  AS 3 FROM [表名]//拼接列1和列2对应的字段,并命名为列3.

此操作只对字符类型字段有效,如需拼接数字类型字段,则先进行类型转换和空格过滤即可

SELECT STR(1) +分隔符+ STR(2) AS  3 FROM [表名]//STR()SQL函数

 

数据分组:

SELECT 1,COUNT(*) AS 临时列 FROM [表名] GROUP BY 1 //分组显示列1的数据并计算重复数

SELECT 1,COUNT(*) AS 临时列 FROM [表名] GROUP BY 1 HAVING COUNT(*) >= 数值1 //分组显示列1的数据并计算重复数大于数值1的列集合

区别:  WHERE:数据分组前进行过滤;

HAVING:数据分组后进行过滤;

 

 

posted @ 2010-01-25 16:59  Darren.Xiang  阅读(182)  评论(0编辑  收藏  举报