SQLSERVER查询数据
使用ASP.NET的时候,我们很大一部分工作是对数据库进行操作。作为数据库日常操作的一部分,你需要从数据库中提取数据。如果无法提取数据,那么存储的那些数据又有什么用呢?大多数时候,你和你的用户使用特定的应用程序来访问数据库中的数据。但有时,也可以用其他方法访问数据。其中最主要的方法是使用SELECT语句。
为了让你理解将要讨论的大量SELECT语句,我们将使用pubs 数据库。这是一个小型数据库,它在安装SQL Server 时同时被安装。pubs 数据库是一个模仿出版公司数据库的模型。该数据库跟踪作者、出版物、出版商以及其他类似信息。
SELECT 语句是从数据库的表中访问和提取数据的一种工具。它是最强有力的工具之一,而且它有比SQL中其他语句多得多的可用选项。SELECT 语句可以从表中取出所有的行和列,或者两者任一个的子集。最基本的SELECT语句是从表中取出所有的行和列。在我们涉及到的的大部分例子中,我们将使用authors 表。
注意:为了说明的连贯性,我们将从最简单的情况入手,逐渐对SELECT命令进行扩展。所以开始的部分可能简单得令你吃惊。
一、最简单的SELECT命令
SELECT * FROM AUTHORS
该命令的作用是检索authors中的所有数据。
正如你所看到的,该语句中包含四个基本部分。第一部分是关键字SELECT 。它告诉SQL Server 你将要做什么。语句下一部分是列名的列表,你可以列出你所要从表中输出的列。稍后,我们将详细讨论。这里所做的只是用星号( * )表示想取出表中所有的列。关键字SELECT和列的列表组合在一起,有时称作SELECT子句和SELECT 列表。语句的下一部分是关键字FROM 。使用FROM 关键字是为了告诉SQL Server 你想从哪儿取出列。最后,你告诉SQL Server 需要从哪个表中取出数据。关键字FROM和表的名字组合在一起,通常叫做FROM 子句。
这是最基本的SELECT语句,仅仅演示了你需要用SELECT 语句所做的工作的很小部分。
需要说明的一件事是,SELECT语句中这些组成部分的位置和间隔并不重要,只要你所写的单词次序是正确的。
二、限制输出列
或许你会说,这样返回的数据太多了。我需要的仅仅是一滴晶莹的露水,你却给了我整个大海。得到的太多,烦恼也会太多。
好吧,我现在告诉你怎样仅仅得到你需要的。
例如,你需要一张包含每位作者的名字、姓氏和电话号码的清单,只需要去查询名为au_fname、au_lname和phone的列。
SELECT au_fname,au_lname,phone FROM authors
正如你所见,我们只是把SELECT语句中的星号(*)用由逗号分开的列名代替。SELECT语句的其余部分与我们前面列出的一模一样。
三、改变列标题
对于大多数查询,人们经常想直接看到所查询的数据。上面的例子应该可以满足了。但是,请别忘记,你有时会遇到开发人员用不易理解的名字来命名表中的列。例如yy1、yy2、yy3之类的名字,再加上类似的数据类型,一定会让不太熟悉该系统的用户感觉莫名其妙以至于当场晕倒。为了防止出现这样的问题,这里有一个办法就是改变列的名称,使它易于被人们理解。这被称作列别名。
SELECT First Name=au_fname,Last Name=au_lname,phone AS Telphone Number FROM authors
细心的用户可能看出来了,这里使用了两种不同的方法。第一种是把别名放在列名的前面,并用等号隔开,就像列名au_fname、au_lname 的情况一样。另一种方法是利用SQL的AS关键字。使用它时,可以把别名放在列名后面,并由AS分开。这两种方法得到相同的结果。但使用AS加别名是一个更好一点的方法。(至少我更喜欢这样使用)
下面我们来说说.....哎呀,不行了。马上要下班了,wincheer也要回家吃饭了。后续部分如果您感兴趣的话请继续关注,如果不感兴趣就算了
使用ASP.NET的时候,我们很大一部分工作是对数据库进行操作。作为数据库日常操作的一部分,你需要从数据库中提取数据。如果无法提取数据,那么存储的那些数据又有什么用呢?大多数时候,你和你的用户使用特定的应用程序来访问数据库中的数据。但有时,也可以用其他方法访问数据。其中最主要的方法是使用SELECT语句。
为了让你理解将要讨论的大量SELECT语句,我们将使用pubs 数据库。这是一个小型数据库,它在安装SQL Server 时同时被安装。pubs 数据库是一个模仿出版公司数据库的模型。该数据库跟踪作者、出版物、出版商以及其他类似信息。
SELECT 语句是从数据库的表中访问和提取数据的一种工具。它是最强有力的工具之一,而且它有比SQL中其他语句多得多的可用选项。SELECT 语句可以从表中取出所有的行和列,或者两者任一个的子集。最基本的SELECT语句是从表中取出所有的行和列。在我们涉及到的的大部分例子中,我们将使用authors 表。
注意:为了说明的连贯性,我们将从最简单的情况入手,逐渐对SELECT命令进行扩展。所以开始的部分可能简单得令你吃惊。
一、最简单的SELECT命令
SELECT * FROM AUTHORS
该命令的作用是检索authors中的所有数据。
正如你所看到的,该语句中包含四个基本部分。第一部分是关键字SELECT 。它告诉SQL Server 你将要做什么。语句下一部分是列名的列表,你可以列出你所要从表中输出的列。稍后,我们将详细讨论。这里所做的只是用星号( * )表示想取出表中所有的列。关键字SELECT和列的列表组合在一起,有时称作SELECT子句和SELECT 列表。语句的下一部分是关键字FROM 。使用FROM 关键字是为了告诉SQL Server 你想从哪儿取出列。最后,你告诉SQL Server 需要从哪个表中取出数据。关键字FROM和表的名字组合在一起,通常叫做FROM 子句。
这是最基本的SELECT语句,仅仅演示了你需要用SELECT 语句所做的工作的很小部分。
需要说明的一件事是,SELECT语句中这些组成部分的位置和间隔并不重要,只要你所写的单词次序是正确的。
二、限制输出列
或许你会说,这样返回的数据太多了。我需要的仅仅是一滴晶莹的露水,你却给了我整个大海。得到的太多,烦恼也会太多。
好吧,我现在告诉你怎样仅仅得到你需要的。
例如,你需要一张包含每位作者的名字、姓氏和电话号码的清单,只需要去查询名为au_fname、au_lname和phone的列。
SELECT au_fname,au_lname,phone FROM authors
正如你所见,我们只是把SELECT语句中的星号(*)用由逗号分开的列名代替。SELECT语句的其余部分与我们前面列出的一模一样。
三、改变列标题
对于大多数查询,人们经常想直接看到所查询的数据。上面的例子应该可以满足了。但是,请别忘记,你有时会遇到开发人员用不易理解的名字来命名表中的列。例如yy1、yy2、yy3之类的名字,再加上类似的数据类型,一定会让不太熟悉该系统的用户感觉莫名其妙以至于当场晕倒。为了防止出现这样的问题,这里有一个办法就是改变列的名称,使它易于被人们理解。这被称作列别名。
SELECT First Name=au_fname,Last Name=au_lname,phone AS Telphone Number FROM authors
细心的用户可能看出来了,这里使用了两种不同的方法。第一种是把别名放在列名的前面,并用等号隔开,就像列名au_fname、au_lname 的情况一样。另一种方法是利用SQL的AS关键字。使用它时,可以把别名放在列名后面,并由AS分开。这两种方法得到相同的结果。但使用AS加别名是一个更好一点的方法。(至少我更喜欢这样使用)
下面我们来说说.....哎呀,不行了。马上要下班了,wincheer也要回家吃饭了。后续部分如果您感兴趣的话请继续关注,如果不感兴趣就算了