1、SQL查询语句SQL查询语句基础DataTrans-1500服务器是用SQL Server服务器作数据的底层管理,当用户对DataTrans-1500服务器进行查询时,服务器通过mand命令文件以及.from检索途径对象来构造SQL查询语句,通过此SQL 查询语句来对SQL Server服务器发起检索。DataTrans-1500服务器的系统管理员,了解、掌握SQL查询语句的语法,能更好的作好二次开发。鉴于DataTrans-1500服务器系统管理员所作的二次开发只与查询语句有关,本章只介绍SQL查询语句中与SELECT语句有关的一些基础知识,以方便广大不熟悉SQL查询语言的DataTrans
2、-1500服务器系统管理员。有关SQL语言更详细的知识请查阅有关手册。SQL(Struct Query Language)即结构化查询语言,它是使用关系模型的数据库应用语言,由IBM在70年代开发出来。现在SQL结构化查询语言已经成为一个工业标准,几乎所有的数据库都支持它的查询,SQL Server更是如此。SQL Server服务器中,用SELECT语句实现数据库的查询操作。同时,它可以使用各种子句对查询结果进行分组统计、合计、排序等操作。SELECT语句还可将查询结果生成另一个表(临时表或永久表)。SELECT语句的语法格式为:SELECT ALL|DISTINCT select_list
3、 INTO new_table_nameFROMtable_name|view_name(optimizer_hints)WHERE clouseGROUP BY clauseHAVING clauseORDER BY clauseCOMPUTE clauseFOR browse以上格式中,“”括的项表示可选项,大写的词为关键字,小写的词表示不确定的实体名称。除第一行外,每一行为一个子句,在SELECT中子句可以省略,但在列出时,必须按照以上顺序。11.1简单查询语句简单的SQL查询只包括SELECT子句、FROM子句和WHERE子句,它们分别说明查询列、要查询的表和搜索条件。例如:SELEC
4、T keys,fields FROM keysWHERE frm in (200*a)以上SELECT语句查询keys表中frm字段为200*a的记录的keys和fields字段。其查询结果可能为:keys marc_id-王德树 0000000001 贺鸣 0000000001郭宏雨 0000000002郭宏雨 0000000002(4 row(s) affected)11.1.1 SELECT 条件列表1 显示keys表中所有列的内容SELECT * FROM keys将对keys表中每个字段的值进行显示。2 按顺序显示指定列SELECT marc_id,fileds,keys FROM
5、keys在SELECT 列表中指定列名来选择不同的列,个列之间用逗号分开,结果的显示顺序为SELECT列表中字段的排列顺序。3 更改列标题SELECT keys ,记录号=marc_id FROM keys或 SELECT keys,marc_id 记录号 FROM keys或 SELECT keys,marc_id as 记录号 FROM keys执行结果为:keys 记录号-王德树 0000000001 贺鸣 0000000001郭宏雨 0000000002郭宏雨 0000000002(4 row(s) affected)在SELECT语句中可以为选择列指定列标题,其格式为:列标题=列名或
6、:列名 列标题4删除重复行SELECT语句中可以使用ALL|DISTINCT选项来显示所有行(ALL)或删除重复的行(DISTINCT),缺省为ALL,即不去重。在前面的例子中将查语句换为:SELECT DISTINCT keys,marc_id FROM keys查询结果为:keys marc_id-王德树 0000000001 贺鸣 0000000001郭宏雨 0000000002(3 row(s) affected)11.1.2 FROM子句FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定16个表或视图,它们相互之间用逗号分开,如果这些表属于不同的数
7、据库,可用数据库.所有者名称.对象格式加以限定。在缺省情况下,FROM子句不指定数据库名称,查询的数据库为当前数据库。11.1.3 WHERE子句SELECT 语句中的WHERE子句用来指定查询条件。WHERE子句中包含各种查询条件,如下表:运算符分类运算符意义比较运算符 = = = ! != 0000000001 and marc_id 在DataTrans-1500服务器中对所有库发起一次全途径检索,由mand文件和若干个.from文件构造的SQL查询语句如下所示。/*/* 首次检索 key + count (多检索词) */select fields as keystring, COUN
8、T(fields) as hitcountinto #temp/*into*/from englishbooks.keys where( keys like % )andfrm like 24_*aand ( marc_id = 0000000001 and marc_id = 0000000001 and marc_id = 0000001393 and marc_id = 0000001395 ) )GROUP BY fieldsUNION ALL/*/* 首次检索 key + count (多检索词) */select top 50000 fields as keystring, COU
9、NT(fields) as hitcount/*into*/from xidan.keys where( keys like % )andfrm = 200*aand (1=2 )GROUP BY fieldsselect top 50000 keystring, SUM (hitcount) as hitnumber into recordset.srch00a567801 from #temp group by keystring order by keystring drop table #temp create clustered index keyindex on recordset.srch00a567801 (keystring)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1