知识大全 SQL数据操作基础(初级)2

Posted 语句

篇首语:心境是可以把地狱变成天堂,也可以把天堂变成地狱。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL数据操作基础(初级)2相关的知识,希望对你有一定的参考价值。

SQL数据操作基础(初级)2  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  使用ISQL执行SELECT查询    当你安装SQL Sever时 你同时安装了一个叫作ISQL/w的应用程序 ISQL/w允许你执行交互的SQL查询 在把查询包括到你的ASP网页中之前 用ISQL/w对其进行测试是非常有用的     注意     在这本书的第一部份 你学习了怎样安装和配置Microsoft SQL Sever 如果没有安装SQL Sever或者SQL Sever不能运行 请参阅第三章 安装和使用SQL Sever     选择任务上SQL Sever程序组中的ISQL_w以启动该程序 程序启动时 首先会出现一个对话框 要求输入服务器信息和登录信息(见图 ) 在Sever框中 输入你的SQL服务器的名字 如果服务器正运行在本地计算机上 服务器名字就是你计算机的名字 在登录信息框中 输入一个登录帐号和密码或选择使用 可信连接 然后单击Connect按钮     图               注意     如果你将SQL Sever配置为使用完整安全或混合安全 那么你可以使用可信连接 如果你使用标准安全 你则需要提供用户帐号和密码 要了解更多信息 参见第三章     如果一切正常 在你单击连接按钮后会出现一个查询窗口 如图 所示 (如果有异常 请参考第三章)          图          在执行查询之前 你需要选择数据库 安装 SQL Sever时你已为自己创建了一个数据库 SQL Sever还有许多系统数据库 如master model msdb 和tempdb     方便的是 SQL Sever带有一个特殊的名为pubs的例子数据库 库 pubs中包含供一个虚拟的出版商使用的各个表 文档中所有的例子程序都是针对这个库来设计的 本书中的许多例子也使用这个数据库     在查询窗口顶部的DB下拉框中选择数据库pubs 这样你就选择了数据库 你所有的查询都将针对这个库中的各个表来执行 现在你可以执行你的第一个查询了 这真让人兴奋!    你的第一个查询将针对一个名为autrors的表 表中包含所有为某个虚拟出版商工作的作者的相关数据 单击查询窗口并输入以下的语句     SELECT phone FROM authors WHERE au_name= Ringer     输入完成后 单击执行查询按钮(一个绿色三角形 看起来像VCR播放键) 单击此按钮后 任何出现在查询窗口中的语句均会被执行 查询窗口会自动变成结果显示窗口 你可以看到查询的结果(见图 )     你看到的查询结果也许与图 所示的不同 在SQL Sever的不同版本中 库pubs中的数据会有所不同 对SQL Sever 来说 将会找到两条记录 结果显示窗口中应显示如下内容     phone    ………………      _      _     ( row(s) affected)    图               你所执行的SELECT语句从表authors中取出所有名字为Ringer的作者的电话号码 你通过在WHERE子句中使用特殊的选择条件来限制查询的结果 你也可以忽略选择条件 从表中取出所有作者的电话号码 要做到这一点 单击Query标签 返回到查询窗口 输入以下的SELECT语句     SELECT Phone FROM authors    这个查询执行后 会取出表authors中的所有电话号码(没有特定的顺序) 如果表authors中包含一百个电话号码 会有一百个记录被取出 如果表中有十亿个电话号码 这十亿条记录都会被取出(这也许需要一些时间) 表authrs的字段包括姓 名字 电话号码 地址 城市 州和邮政编码 通过在SELECT语句的第一部份指定它们 你可以从表中取出任何一个字段 你可以在一个SELECT语句中一次取出多个字段 比如     SELECT au_fname au_lname phone FROM authors    这个SELECT语句执行后 将取出这三个列的所有值 下面是这个查询的结果的一个示例(为了节省纸张 只显示查询结果的一部分 其余记录用省略号代替)     au_fname au_lname phone     …………………………………………………………………………     Johnson White _     Marjorie Green _     Cheryl Carson _     Michael O Leary _     …     ( row(s) affected)    在SELECT语句中 你需要列出多少个字段 你就可以列出多少 不要忘了把字段名用逗号隔开 你也可以用星号(*)从一个表中取出所有的字段 这里有一个使用星号的例子     SELECT * FROM authors    这个SELECT语句执行后 表中的所有字段的值都被取出 你会发现你将在SQL查询中频繁使用星号     技巧     你可以使用星号来查看一个表的所有列的名字 要做到这一点 只需要在执行完SELECT语句后看一下查询结果的列标题     操作多个表    到现在为止 你只尝试了用一句SQL查询从一个表中取出数据 你也可以用一个SELECT语句同时从多个表中取出数据 只需在SELECT语句的FROM从句中列出要从中取出数据的表名称即可     SELECT au_lname title FROM authors titles     这个SELECT语句执行时 同时从表authors和表titles中取出数据 从表authors中取出所有的作者名字 从表titles中取出所有的书名 在ISQL/w程序中执行这个查询 看一下查询结果 你会发现一些奇怪的出乎意料的情况 作者的名字并没有和它们所著的书相匹配 而是出现了作者名字和书名的所有可能的组合 这也许不是你所希望见到的     出了什么差错?问题在于你没有指明这两个表之间的关系 你没有通过任何方式告诉SQL如何把表和表关联在一起 由于不知道如何关联两个表 服务器只能简单地返回取自两个表中的记录的所有可能组合     要从两个表中选出有意义的记录组合 你需要通过建立两表中字段的关系来关联两个表 要做到这一点的途径之一是创建第三个表 专门用来描述另外两个表的字段之间的关系     表authors有一个名为au_id的字段 包含有每个作者的唯一标识 表titles有一个名为title_id的字段 包含每个书名的唯一标识 如果你能在字段au_id和字段title_id 之间建立一个关系 你就可以关联这两个表 数据库pubs中有一个名为titleauthor的表 正是用来完成这个工作 表中的每个记录包括两个字段 用来把表titles和表authors关联在一起 下面的SELECT语句使用了这三个表以得到正确的结果     SELECT au_name title FROM authors titles titleauthor     WHERE authors au_id=titleauthor au_id    AND titles title_id=titleauthor title_id     当这个SELECT语句执行时 每个作者都将与正确的书名相匹配 表titleauthor指明了表authors和表titles的关系 它通过包含分别来自两个表的各一个字段实现这一点 第三个表的唯一目的是在另外两个表的字段之间建立关系 它本身不包含任何附加数据     注意在这个例子中字段名是如何书写的 为了区别表authors和表titles中相同的字段名au_id 每个字段名前面都加上了表名前缀和一个句号 名为author au_id 的字段属于表authors 名为titleauthor au_id的字段属于表titleauthor 两者不会混淆     通过使用第三个表 你可以在两个表的字段之间建立各种类型的关系 例如 一个作者也许写了许多不同的书 或者一本书也许由许多不同的作者共同完成 当两个表的字段之间有这种 多对多 的关系时 你需要使用第三个表来指明这种关系     但是 在许多情况下 两个表之间的关系并不复杂 比如你需要指明表titles和表publishers之间的关系 因为一个书名不可能与多个出版商相匹配 你不需要通过第三个表来指明这两个表之间的关系 要指明表titles和表publishers之间的关系 你只要让这两个表有一个公共的字段就可以了 在数据库pubs中 表titles和表publishers都有一个名为pub_id的字段 如果你想得到书名及其出版商的一个列表 你可以使用如下的语句     SELECT title pub_name FROM titles publishers    WHERE titles pub_id=publishers pub_id    当然 如果一本书是由两个出版商联合出版的 那么你需要第三个表来代表这种关系     通常 当你予先知道两个表的字段间存在 多对多 关系时 就使用第三个表来关联这两个表 反之 如果两个表的字段间只有 一对一 或 一对多 关系 你可以使用公共字段来关联它门 cha138/Article/program/SQLServer/201311/22249

相关参考

知识大全 SQL数据操作基础(初级)1

SQL数据操作基础(初级)1  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了建立交互站点你需

知识大全 SQL数据操作基础(中级)7

SQL数据操作基础(中级)7  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用SQL建立索引  

知识大全 SQL数据操作基础(中级)10

SQL数据操作基础(中级)10  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  操作日期和时间  

知识大全 SQL数据操作基础(中级)8

SQL数据操作基础(中级)8  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  更新记录    要修

知识大全 Sql语言基础教程 sql数据类型[2]

Sql语言基础教程sql数据类型[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 SQL Server2005的XML数据类型之基础篇[2]

SQLServer2005的XML数据类型之基础篇[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 SQL Server数据库对上亿表的操作[2]

经验总结:SQLServer数据库对上亿表的操作[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Sql语言基础教程 sql数据类型[1]

Sql语言基础教程sql数据类型[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 SQL的基本操作(1.数据类型)

SQL的基本操作(1.数据类型)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据类型  数据

知识大全 SQL数据库的简单操作

SQL数据库的简单操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一简单查询  简单的Tra