求SQL关键字和其语法(好的话,给100分)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求SQL关键字和其语法(好的话,给100分)相关的知识,希望对你有一定的参考价值。

要求,见解,有注释,完全,无误

1.数据定义语言(DDL)
数据定义语言是指用来定义和管理数据库以及数据库中的各种对象的语句,这些语句包括Create、Alter和Drop等语句。在SQL Server 2000中,数据库对象包括表、视图、触发器、存储过程、规则、缺省、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用Create、Alter、Drop等语句来完成。

2.数据操纵语言(DML)
数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括Select、Insert、Update、Delete等。在默认情况下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成员才有权利执行数据操纵语言。

3.数据控制语言(DCL)
数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角色。
DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。
REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。

----------------------------------------------

4. 系统存储过程

系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。
sp_addtype:用于定义一个用户定义数据类型。
sp_configure:用于管理服务器配置选项设置。
xp_sendmail:用于发送电子邮件或寻呼信息。
sp_stored_procedures:用于返回当前数据库中的存储过程的清单。
sp_help:用于显示参数清单和其数据类型。
sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。
sp_helptext:用于显示存储过程的定义文本。
sp_rename:用于修改当前数据库中用户对象的名称
3.数据控制语言(DCL)
数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角色。
DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。
REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。

----------------------------------------------

4. 系统存储过程

系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。
sp_addtype:用于定义一个用户定义数据类型。
sp_configure:用于管理服务器配置选项设置。
xp_sendmail:用于发送电子邮件或寻呼信息。
sp_stored_procedures:用于返回当前数据库中的存储过程的清单。
sp_help:用于显示参数清单和其数据类型。
sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。
sp_helptext:用于显示存储过程的定义文本。
sp_rename:用于修改当前数据库中用户对象的名称。
程序代码

1. EXEC sp_renamedb 'userdb1', 'userdb2'
更改数据库的名称,由userdb1更改为userdb2

2.EXEC sp_rename 'user_log','用户登录表'
更改当前数据库表的名称,由user_log,改为'用户登录表'
EXEC sp_rename 'user_info.user_name', '用户名','column'
将user_info表的'user_name'列重命名为'用户名'

3.EXEC sp_detach_db 'pubs', 'true'
sp_detach_db
从服务器分离数据库,并可以选择在分离前在所有的表上运行 Update STATISTICS。

4. 将数据库附加到服务器
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

5. 将只有一个数据文件的数据库附加到当前服务器
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

----------------------------------------------

SQL中的注释
在SQL Server中,可以使用两种类型的注释字符:一种是ANSI标准的注释符“--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即“/* */”。

SQL中的变量

Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。

3.数据控制语言(DCL)
数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角色。
DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。
REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。

----------------------------------------------

4. 系统存储过程

系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。
sp_addtype:用于定义一个用户定义数据类型。
sp_configure:用于管理服务器配置选项设置。
xp_sendmail:用于发送电子邮件或寻呼信息。
sp_stored_procedures:用于返回当前数据库中的存储过程的清单。
sp_help:用于显示参数清单和其数据类型。
sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。
sp_helptext:用于显示存储过程的定义文本。
sp_rename:用于修改当前数据库中用户对象的名称。
程序代码

1. EXEC sp_renamedb 'userdb1', 'userdb2'
更改数据库的名称,由userdb1更改为userdb2

2.EXEC sp_rename 'user_log','用户登录表'
更改当前数据库表的名称,由user_log,改为'用户登录表'
EXEC sp_rename 'user_info.user_name', '用户名','column'
将user_info表的'user_name'列重命名为'用户名'

3.EXEC sp_detach_db 'pubs', 'true'
sp_detach_db
从服务器分离数据库,并可以选择在分离前在所有的表上运行 Update STATISTICS。

4. 将数据库附加到服务器
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

5. 将只有一个数据文件的数据库附加到当前服务器
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

----------------------------------------------

SQL中的注释
在SQL Server中,可以使用两种类型的注释字符:一种是ANSI标准的注释符“--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即“/* */”。

SQL中的变量

Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。

局部变量:局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。
全局变量:全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。

使用全局变量时应该注意以下几点:
①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
②用户只能使用预先定义的全局变量。
③引用全局变量时,必须以标记符“@@”开头。
④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

----------------------------------------------

SQL中的函数

在Transact-SQL语言中,函数被用来执行一些特殊的运算以支持SQL Server的标准命令。Transact-SQL 编程语言提供了三种函数:
一行集函数:行集函数可以在Transact-SQL语句中当作表引用。
二聚合函数:聚合函数用于对一组值执行计算并返回一个单一的值。
三标量函数:标量函数用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值。

1.字符串函数
字符串函数包括:
基本字符串函数:UPPER、LOWER、SPACE、REPLICATE、STUFF、REVERSE、LTRIM、RTRIM。
字符串查找函数:CHARINDEX、PATINDEX。
长度和分析函数:DATALENGTH、SUBSTRING、RIGHT。
转换函数:ASCH、CHAR、STR、SOUNDEX、DIFFERENCE。

基本字符串函数
UPPER:将小写字符数据转换为大写的字符
LOWER:将大写字符数据转换为小写的字符
SPACE:返回由重复的空格组成的字符串。如:space(2)则返回两个空格
REPLICATE:以指定的次数重复字符表达式。
语法:REPLICATE ( character_e­xpression , integer_e­xpression )
如:Select REPLICATE(au_fname, 2) FROM authors,则重复两遍每个作者的名字
STUFF:删除指定长度的字符并在指定的起始点插入另一组字符。
语法:STUFF ( character_e­xpression , start , length , character_e­xpression )
(start是一个整形值,指定删除和插入的开始位置。如果 start 或 length 是负数,则返回空字符串。如果 start 比第一个 character_e­xpression 长,则返回空字符串。
length是一个整数,指定要删除的字符数。如果 length 比第一个 character_e­xpression 长,则最多删除到最后一个 character_e­xpression 中的最后一个字符。)

3.数据控制语言(DCL)
数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角色。
DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。
REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。

----------------------------------------------

4. 系统存储过程

系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。
sp_addtype:用于定义一个用户定义数据类型。
sp_configure:用于管理服务器配置选项设置。
xp_sendmail:用于发送电子邮件或寻呼信息。
sp_stored_procedures:用于返回当前数据库中的存储过程的清单。
sp_help:用于显示参数清单和其数据类型。
sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。
sp_helptext:用于显示存储过程的定义文本。
sp_rename:用于修改当前数据库中用户对象的名称。
程序代码

1. EXEC sp_renamedb 'userdb1', 'userdb2'
更改数据库的名称,由userdb1更改为userdb2

2.EXEC sp_rename 'user_log','用户登录表'
更改当前数据库表的名称,由user_log,改为'用户登录表'
EXEC sp_rename 'user_info.user_name', '用户名','column'
将user_info表的'user_name'列重命名为'用户名'

3.EXEC sp_detach_db 'pubs', 'true'
sp_detach_db
从服务器分离数据库,并可以选择在分离前在所有的表上运行 Update STATISTICS。

4. 将数据库附加到服务器
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

5. 将只有一个数据文件的数据库附加到当前服务器
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

----------------------------------------------

SQL中的注释
在SQL Server中,可以使用两种类型的注释字符:一种是ANSI标准的注释符“--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即“/* */”。

SQL中的变量

Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。

局部变量:局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。
全局变量:全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。

使用全局变量时应该注意以下几点:
①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
②用户只能使用预先定义的全局变量。
③引用全局变量时,必须以标记符“@@”开头。
④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

----------------------------------------------

SQL中的函数

在Transact-SQL语言中,函数被用来执行一些特殊的运算以支持SQL Server的标准命令。Transact-SQL 编程语言提供了三种函数:
一行集函数:行集函数可以在Transact-SQL语句中当作表引用。
二聚合函数:聚合函数用于对一组值执行计算并返回一个单一的值。
三标量函数:标量函数用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值。

1.字符串函数
字符串函数包括:
基本字符串函数:UPPER、LOWER、SPACE、REPLICATE、STUFF、REVERSE、LTRIM、RTRIM。
字符串查找函数:CHARINDEX、PATINDEX。
长度和分析函数:DATALENGTH、SUBSTRING、RIGHT。
转换函数:ASCH、CHAR、STR、SOUNDEX、DIFFERENCE。

基本字符串函数
UPPER:将小写字符数据转换为大写的字符
LOWER:将大写字符数据转换为小写的字符
SPACE:返回由重复的空格组成的字符串。如:space(2)则返回两个空格
REPLICATE:以指定的次数重复字符表达式。
语法:REPLICATE ( character_e­xpression , integer_e­xpression )
如:Select REPLICATE(au_fname, 2) FROM authors,则重复两遍每个作者的名字
STUFF:删除指定长度的字符并在指定的起始点插入另一组字符。
语法:STUFF ( character_e­xpression , start , length , character_e­xpression )
(start是一个整形值,指定删除和插入的开始位置。如果 start 或 length 是负数,则返回空字符串。如果 start 比第一个 character_e­xpression 长,则返回空字符串。
length是一个整数,指定要删除的字符数。如果 length 比第一个 character_e­xpression 长,则最多删除到最后一个 character_e­xpression 中的最后一个字符。)

REVERSE:反转字符串Select REVERSE('abcd') 则返回‘dcba’

字符串查找函数
参考:http://www.badguy.name/article.asp?id=93

长度和分析函数
DATALENGTH :返回任何表达式所占用的字节数。
SUBSTRING:参考http://www.badguy.name/article.asp?id=105
LEFT:返回从字符串左边开始指定个数的字符。
RIGHT:返回从字符串左边开始指定个数的字符。Select RIGHT(au_fname, 5) FROM authors

2.日期和时间函数

datepart

示例:

3.数学函数
数学函数用于对数字表达式进行数学运算并返回运算结果。 常用的有:CEILING()、FLOOR()、ROUND()函数

4.转换函数
一般情况下,SQL Server会自动处理某些数据类型的转换。例如,如果比较 char 和 datetime 表达式、smallint 和 int 表达式、或不同长度的 char 表达式,SQL Server 可以将它们自动转换,这种转换被称为隐性转换。但是,无法由SQL Server自动转换的或者是SQL Server自动转换的结果不符合预期结果的,就需要使用转换函数做显示转换。转换函数有两个:CONVERT和CAST。

CAST ( e­xpression AS data_type )
CONVERT函数允许用户把表达式从一种数据类型转换成另一种数据类型,还允许把日期转换成不同的样式。其语法形式为:
CONVERT (data_type[(length)],e­xpression [,style])
流程控制语句是指那些用来控制程序执行和流程分支的命令,在SQL Server 2000中,流程控制语句主要用来控制SQL语句、语句块或者存储过程的执行流程。

IF Boolean_e­xpression
sql_statement | statement_block
[ ELSE
sql_statement | statement_block ]

BEGIN
sql_statement
| statement_block
END

参考资料:http://www.badguy.name/article.asp?id=702

参考技术A CharIndex 用来寻找一个指定的字符串在另一个字符串中的起始位置 Select charindex(‘accp’,’my accp course’,1) 返回:4
Len 返回传递给它的字符串长度 select
Upper/lower 把传递给它的字符串转换为大(小)写 Select Upper(‘sql server课程’) 返回:SQL SERVER课程
Rtrim/Ltrim 清除字符右(左)边的空格 Select Rtrim(‘ 周智宇 ’) 返回:周智宇 (前面的空格保)
Right/Left 从字符串右(左)边返回指定数目的字符 Select right(‘买卖提.吐尔松’,3) 返回:吐尔松
Replace 替换一个字符串中的字符 Select replace (‘莫乐可切.杨可’,’可’,’兰’)
返回:莫乐兰切.杨兰
Stuff 在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串 Select stuff(‘abcdefg’,2,3,’我的音乐我的世界’)
返回: a我的音乐我的世界efg

GetDate 取得当前的系统日期 Select getdate() 返回:今天的日期
DateAdd 将指定的数值添加到指定的日期部分后的日期 Select DateAdd(mm,4,’01/01/99’) 返回:05/01/99
DateDiff 两个日期之间的指定日期部分的区别 Select DateDiff(mm,’01/01/99’,’05/01/99’) 返回:4
DateName 日期中指定日期部分的字符串形式 Select DateName(dw,’01,01,2000’) 返回:星期六
DatePart 日期中指定日期部分的整数形式 Select DatePart(day,’01/15/2000’) 返回:15
Select DatePart(dw, ‘01/15/2000’) 返回:7(当周的第七天)
Select DatePart(wk,’ 01/15/2000’) 返回:3 (当年的第三周)

Abs 取数值表达式的绝对值 Select Abs(-43) 返回:43
Ceiling 取大于或等于指定数值、表达式的最小整数 Select ceiling(43.5) 返回:44
Floor 取小于或等于指定表达式的最大整数 Select Floor(43.5) 返回:43
Power 取数值表达式的幂值 Selcet Power(5,2) 返回:25
Round 将数值表达式四舍五入为指定精度 Select Round(43.543,1) 返回:43.5
Sign 对于正数返回+1,对于负数返回-1,对于0则返回0 Select Sign(-43) 返回:-1
Sqrt 取浮点表达式的平方根 Select Sqrt(9) 返回:3

把这些函数搞清楚就差不多了。。。。
参考技术B 帮助文档

SQL怎么查询订单?好的话给分多!!!

我现在想在SQL里查询订单应该怎么查询?语句 越仔细越好
在SQL里什么地方查询 SQL2005

很复杂!!
在 EXPLICIT 模式中,查询书写器控制由执行查询所返回的 XML 文档的形式。必须以特定的方式编写查询,将有关预期嵌套的附加信息显式指定为查询的一部分。可用 directive 在列级指定附加的配置。当指定 EXPLICIT 模式时,必须负责确保生成的 XML 符合语法规则并且有效(对于 XML-DATA 架构)。
EXPLICIT 模式将查询执行所得到的行集转换为 XML 文档。为使 EXPLICIT 模式生成 XML 文档,行集必须具有特定的格式。这需要以某种方式编写 SELECT 查询以生成具有特定格式的行集(称为通用表),可对该行集进行处理以生成请求的 XML 文档。

<Customer CustomerID="ALFKI">

<Order OrderID=10643>
<Order OrderID=10692>

...

</Customer>
<Customer CustomerID="ANATR" >

<Order OrderID=10308 >
<Order OrderID=10625 >

...

</Customer>

成所得到的 XML 树的查询生成通用表,该表包含两个元数据列:Tag 和 Parent。因此,在指定查询时 SELECT 子句必须指定这两列。这两列中的值用于生成 XML 层次结构。

<Customer> 元素位于顶层。在下面的示例中,指派给此元素的 Tag 值为 1(该值可以是任何数字,但是有唯一的数字与每个元素名相关联)。因为 <Customer> 是顶层元素,所以其 Parent 标记值为 NULL。

<Order> 元素是 <Customer> 元素的子元素。因此,<Order> 元素的 Parent 标记值为 1(将 <Customer> 标识为其父元素)。指派给 <Order> 元素的 Tag 值为 2。

可使用两个 SELECT 语句编写查询并使用 UNION ALL 组合这两个语句的结果:

在第一个 SELECT 语句中,获取所有 <Customer> 元素及其特性值。在含有多个 SELECT 语句的查询中,只使用在第一个查询中指定的列名(通用表列名)。忽略在第二个 SELECT 语句中指定的列名。因此,指定 XML 元素和特性名的通用表的列名包含在下面的查询中:
SELECT 1 as Tag,
NULL as Parent,
Customers.CustomerID as [Customer!1!CustomerID],
NULL as [Order!2!OrderID]
FROM Customers

在第二个查询中检索所有 <Order> 元素及其特性值:
SELECT 2,
1,
Customers.CustomerID,
Orders.OrderID
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID

使用 UNION ALL 组合此查询中的两个 SELECT 语句。

以只进方式对通用表行集(包含所有数据和元数据)逐行扫描,以生成所得到的 XML 树。为了输出正确的 XML 文档层次结构,指定通用表中的行顺序也很重要。为此可在查询中使用 ORDER BY 子句。

下面是最终查询:
SELECT 1 as Tag,
NULL as Parent,
Customers.CustomerID as [Customer!1!CustomerID],
NULL as [Order!2!OrderID]
FROM Customers

UNION ALL
SELECT 2,
1,
Customers.CustomerID,
Orders.OrderID
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
ORDER BY [Customer!1!CustomerID], [Order!2!OrderID]
FOR XML EXPLICIT

所得到的通用表是有四列的表。为了举例说明,只显示几行。

Tag Parent Customer!1!CustomerID Order!2!OrderID
1 NULL ALFKI NULL
2 1 ALFKI 10643
2 1 ALFKI 10692
2 1 ALFKI 10702
2 1 ALFKI 11011
2 1 ALFKI ...
1 NULL ANATR NULL
2 1 ANATR 10308
2 1 ANATR 10625
2 1 ANATR ...

下面描述处理通用表中的行以生成所得到的 XML 树:

第一行标识 Tag 值 1。标识所有含有 Tag 值 1 的列。只有一列含有 Tag 值 1:Customer!1!CustomerID。此列名由元素名 (Customer)、标记号 (1) 和特性名 (CustomerID) 组成。因此,创建 <Customer> 元素并向其添加特性 CustomerID。然后将该列值指派为该特性值。

第二行有 Tag 值 2。因此,标识所有含有 Tag 值 2 的列。只有一列含有 Tag 值 2:Order!2!OrderID。此列名由元素名 (Order)、标记号 (2) 和特性名 (OrderID) 组成。该行也将 <Customer> 标识为其父元素(Parent 值为 1)。结果,创建 <Order> 元素作为 <Customer> 元素的子元素并向其添加特性 OrderID。然后将该列值指派为该特性值。

以相同的方式处理后面含有 Tag 值 2 的所有行。

标识含有 Tag 值 1 的某行。标识含有 Tag 值 1 的 Customer!1!CustomerID 列。该列标识没有父元素(Parent 为 NULL)的 <Customer> 元素。因而,关闭前面的 <Order> 标记和 <Customer> 标记。打开新的 <Customer> 标记并重复此过程。
因为没有在查询中指定 Directive,所以特性名是 XML 特性的名称。下面是部分结果集:

<Customer CustomerID="ALFKI">
<Order OrderID="10643" />
<Order OrderID="10692" />
<Order OrderID="10702" />
<Order OrderID="11011" />
</Customer>
<Customer CustomerID="ANATR">
<Order OrderID="10308" />
<Order OrderID="10625" />
</Customer>

简单说。你要
1.使用 EXPLICIT 模式
2.你要知道 XML 层次结构
3.你要看得懂通用表中的行以生成所得到的 XML 树

条件:SQL必须是完整版的,sql2000 可以
开始——程序——microsoft SQL sever——查询分析器——选择正确的数据库——输入语句——f5
参考技术A 查询所有订单:select * from 表名
条件查询订单:select * from 表名 where 字段 = '需要匹配的数据'
模糊查询: select * from 表名 where 字段 like '% 需要匹配的数据 %'
范围查询: select * from 表名 where 字段 like '[ 需要匹配的数据 ]'

你这问题也太笼统了……

先帮你解决这么多吧。本回答被提问者采纳
参考技术B 打开查询分析器,在中间下拉框,选择你要用的数据库,然后输入SQL语句,select * from table 参考技术C 在查询分析器里打sql命令 参考技术D 你会提问题吗?

以上是关于求SQL关键字和其语法(好的话,给100分)的主要内容,如果未能解决你的问题,请参考以下文章

sql server 与 IIS 中权限设置的问题。高分100分!求高手解答!

JS基础语法---continue关键字

sqlserver查询分页问题,条件比较复杂,怎样实现较好?求指点

求SQL语句里面join的用法,求例子及讲解。

sql的语句提示有语法错误,求大神 create database if not exists `fwzl`;

SQL记录-PLSQL基本语法与数据类型