随笔分类 -  SQL

摘要:1、用什么的SQL语句来查的一个表中有相同的记录条数select 相同条件的字段,count(*) from 表group by 相同条件的字段having count(*) >12、请问怎么查看数据库服务器IP地址--得到服务器的IP地址create table #ip(id int identity(1,1),re varchar(200))declare @s varchar(1000)se... 阅读全文
posted @ 2006-09-17 12:55 MSDI 阅读(326) 评论(0) 推荐(0)
摘要:SQL结构化查询字符串的改写,是实现数据库查询性能提升的最现实、最有效的手段,有时甚至是唯一的手段,比如在不允许大幅度修改现有数据库结构的情况下。通过优化SQL语句提高查询性能的关键是: 根据实际需求情况,建立合适的索引; 使用一切可能的方式去利用好索引,避免全表扫描; 尽量减少内存及数据I/O方面的开销一、 建立索引(一)建立“适当”的索引,是快速查询的基础。索引(index)是除表之外另... 阅读全文
posted @ 2006-09-17 12:54 MSDI 阅读(360) 评论(0) 推荐(0)
摘要:A. 使用带有复杂 SELECT 语句的简单过程 下面的存储过程从四个表的联接中返回所有作者(提供了姓名)、出版的书籍以及出版社。该存储过程不使用任何参数。 USE pubs IF EXISTS (SELECT name FROM sysobjects WHERE name = 'au_info_all' AND type = 'P') DROP PROCEDURE au_info_all GO ... 阅读全文
posted @ 2006-08-22 09:26 MSDI 阅读(677) 评论(2) 推荐(0)
摘要:可使用 Transact-SQL 语句 CREATE PROCEDURE 创建存储过程。创建存储过程前,请考虑下列事项: 不能将 CREATE PROCEDURE 语句与其它 SQL 语句组合到单个批处理中。 创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。 存储过程是数据库对象,其名称必须遵守标识符规则。 只能在当前数据库中创建存储过程。... 阅读全文
posted @ 2006-08-22 09:06 MSDI 阅读(467) 评论(1) 推荐(0)
摘要:存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。 存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。 可以出于任何... 阅读全文
posted @ 2006-08-22 09:00 MSDI 阅读(226) 评论(1) 推荐(0)
摘要:一."SQL Server 不存在或访问被拒绝" 这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. 一般说来,有以下几种可能性: 1.SQL Server名称或IP地址拼写有误 2.服务器端网络配置有误 3.客户端网络配置有误 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. 首先,检查网络物理连接 ping 如果 ping ... 阅读全文
posted @ 2006-08-18 15:44 MSDI 阅读(245) 评论(0) 推荐(0)
摘要:事务是一种机制,是一个操作序列,它包含了一组对数据库操作命令,所有的操作做为一个整体一起向系统提交或撤消操作请求,要么都执行,要么都不执行。begin transaction来开始事务commit transaction来结束事务 例子:delare @transaction_name varchar(32)select @transaction_name = 'my_transaction_de... 阅读全文
posted @ 2006-08-18 13:01 MSDI 阅读(233) 评论(0) 推荐(0)
摘要:1、将一张表的信息插入到另一张表中例子:Insert Into ttValues(id,title,pubtime)select id,title,pubtimefrom wwwhere id = '0001' 2、用 VALUES 子句为一行指定数据值: INSERT INTO MyTable (PriKey, Description) VALUES (123, 'A descript... 阅读全文
posted @ 2006-08-18 13:00 MSDI 阅读(6370) 评论(1) 推荐(0)
摘要:彻底删除test表,不在日志工进行记录truncate table test在日志中进行记录delete from test //删除整个表delete from test where id = (select id from test1 where name='好的') //根据筛选出的条件删除记录delete test from (select top 100 * from test) a... 阅读全文
posted @ 2006-08-18 13:00 MSDI 阅读(160) 评论(0) 推荐(0)
摘要:SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下: 1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。 2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。 3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。 ... 阅读全文
posted @ 2006-08-18 13:00 MSDI 阅读(552) 评论(1) 推荐(0)
摘要:HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE 子句搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中出现的任意项。下面的查询得到本年度截止到目前的销售额超过 $40,00... 阅读全文
posted @ 2006-08-18 12:59 MSDI 阅读(544) 评论(0) 推荐(0)
摘要:要把字段名为'IC卡号码'中重复出现的所有记录找出,例如卡号为1234的有6条记录,卡号为2345的有15条记录.....,要把这些记录一次全部找出.select * from chekuwhere ic in(select icfrom chekugroup by ichaving count(ic) > 1) 阅读全文
posted @ 2006-08-18 12:59 MSDI 阅读(458) 评论(0) 推荐(0)
摘要:如果分组列包含一个空值,那么该行将成为结果中的一个组。如果分组列包含多个空值,那么这些空值将放入一个组中。此行为在 SQL-92 标准中定义。titles 表中的 royalty 列包含一些空值,例如:SELECT royalty, AVG(price * 2) AS AveragePriceFROM pubs.dbo.titlesGROUP BY royalty下面的 SELECT 语句通过添加... 阅读全文
posted @ 2006-08-18 12:58 MSDI 阅读(700) 评论(0) 推荐(0)
摘要:GROUP BY 子句用来为结果集中的每一行产生聚合值。如果聚合函数没有使用 GROUP BY 子句,则只为 SELECT 语句报告一个聚合值。USE NorthwindSELECT OrdD.ProductID AS ProdID, SUM(OrdD.Quantity) AS AmountSoldFROM [Order Details] AS OrdD JOIN Products as... 阅读全文
posted @ 2006-08-18 12:58 MSDI 阅读(684) 评论(1) 推荐(0)
摘要:可以在包含 GROUP BY 子句的查询中使用 WHERE 子句。在进行任何分组之前,将消除不符合 WHERE 子句条件的行。例如:use pubsselect type,avg(price)from title where advance > 5000group by type 阅读全文
posted @ 2006-08-18 12:57 MSDI 阅读(388) 评论(0) 推荐(0)
摘要:如果使用 ALL 关键字,那么查询结果将包括由 GROUP BY 子句产生的所有组,即使某些组没有符合搜索条件的行。没有 ALL 关键字,包含 GROUP BY 子句的 SELECT 语句将不显示没有符合条件的行的组。USE pubsSELECT type, AVG(price)FROM titlesWHERE royalty = 10GROUP BY ALL type 阅读全文
posted @ 2006-08-18 12:57 MSDI 阅读(208) 评论(0) 推荐(0)