当前位置:首页 » 编程语言 » sql入门经典思维导图
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql入门经典思维导图

发布时间: 2023-04-29 00:39:08

Ⅰ 《sql入门经典第5版》pdf下载在线阅读全文,求百度网盘云资源

《SAP入门经典(第5版)》电子书网盘下载免费在线阅读

链接:

提取码: z8f7

书名:SAP入门经典(第5版)

Ⅱ SQL实战新手入门:N路INNER JOIN

N路INNER JOIN

当两个表之间不存在直接的关系时该怎么联接这两个表呢?在这种情况下 联接操作需要涉及更多的表!在上一小节INNER JOIN的练习中已经演示了一个实际的例子

例如 有时我们需要列出所有的图书以及各图书相应的作者 请注意 在数据库中一本图书并不知道它的作者信息在哪里(即在BOOKS表的数据行中并没有关于该图书作者的信息) 而作者信息的记录同样也不知道该作者编写的图书的信息在什么地方 但是 在数据库中有一个BOOKS_AUTHORS表 它包含了这样的知识 哪一本图书是哪一个作者编写的 以及哪一个作者编写了哪些图书 BOOKS_AUTHORS表中的每一行都包含了一个BOOKS表的外键和一个AUTHORS表的外键 如果一本图书是由多个作者编写的 那么该BOOKS_AUTHORS表中就具有多行记录 每一行包含了相同的图书ID和不同的作者ID 反之亦然(对于任何一个编写了多本图书的作者)

由于BOOKS表中的数据行没有对于AUTHORS表的外键 AUTHORS表的数据行也没有对于BOOKS表的外键 因此没有办法直接将这两个表联接起来 但是可以将这两个表联接到BOOKS_AUTHORS表

SELECT

books bk_title AS Book

authors au_last_name AS Author

FROM books INNERJOIN books_authors

ON books bk_id = books_authors bk_id

INNER JOIN authors

ON authors au_id = books_authors au_id;

联接的结果如表 所示 正如我们所期望的 如果一本书的作者超过一位 那么有多少个作者 在列表中就会列出多少条记录

表 列出图书及其相应的作者

在结果集中可能会出现重复的图书名称 也可能会出现重复的作者名字 但是图书名称与作者名字的每一个组合在结果集中仅仅只会出现一次

接下来分析一下该查询返回的数据集背后的逻辑 下面是该查询的第一部分 SELECT字段列表

SELECT

books bk_title AS Book

authors au_last_name AS Author

该字段列表并没有什么神奇 它告诉查询引擎我们感兴趣的字段 并为字段列表中的列定义一个比默认名称更加可爱的列名(别名) 注意 虽然查询了多个表 但并非一定要从每一个表中都获取数据 在本例中 只需要一些来自BOOKS表的字段和一些来自AUTHORS表的字段 而并不需要获取BOOKS_AUTHORS表中的字段

FROM books INNER JOIN books_authors

ON books bk_id = books_authors bk_id

上面的子句定义了第一个INNER JOIN 指定了要联接哪两个表 以及如何联接这两个表 在本例中 联接条件是BOOKS表中的BK_ID列的值必须与BOOKS_AUTHORS表中BK_ID列的值相等(两个表中的列名不一定要相同 但是相同的列名使用起来会比较方便)

INNER JOIN authors ON authors au_id = books_authors au_id

上面的子句定义了第二个INNER JOIN 请注意它与第一个INNER JOIN子句的不同 在第一个INNER JOIN子句中指定了两个表 books INNER JOIN books_authors 但在第二个INNERJOIN中仅仅指定了一个表 INNER JOIN authors 这里并不需要指定其他的表 它已经被绑定到之前指定的两个表中的一个 并且行匹配规则将指定它与哪一个表进行联接(在本例中 行匹配规则是 AUTHORS表中AU_ID列的值与BOOKS_AUTHORS表中AU_ID列的值相等)

运行该查询后 如果BOOKS表中包含在BOOKS_AUTHORS表中没有记录的图书 则结果集中不会包含这样的图书 如果AUTHORS表中的任何作者在BOOKS_AUTHORS表中并不存在 则结果集中也不会包含这样的作者

试一试使用四路联接

如何查询位于书柜的顶层书架中名称以SQL开头的图书以及图书的作者呢?当然 这需要联接LOCATION表 BOOKS表和AUTHORS表 由于在图书与图书的作者之间是一个多对多关系 因此必须包含BOOKS_AUTHORS表作为中间表 以解决多对多关系的复杂性问题 下面将使用Microsoft SQL Server来演示联接的功能 在本书所讨论的其他任何一种RDBMS中 下面的脚本无须修改都能正常运行 下面让我们来实践一下吧

( ) 打开Microsoft SQL Server Management Studio 使用Windows身份验证连接到数据库

( ) 单击左上角的New Query按钮 输入下面的SQL查询

SELECT

au_last_name AS author

bk_title AS title

FROM books bk INNER JOIN books_authors ba

ON bk bk_id = ba bk_id

INNER JOIN authors au

ON ba au_id = au au_id

INNER JOIN location loc

ON bk bk_id = loc fk_bk_loc

WHERE loc loc_shelf =

AND bk bk_title LIKE SQL%

( ) 单击工具栏上的Execute按钮 观察返回的结果

author title

Kriegel SQL Bible

Trukhnov SQL Bible

Kriegel SQL Functions: Programmers Reference

Jones SQL Functions: Programmers Reference

Stephens SQL Functions: Programmers Reference

Plew SQL Functions: Programmers Reference

Garrett SQL Functions: Programmers Reference

( row(s) affected)

示例说明

在之前的例子中 联接的价值在于尽量减少选取的记录 直到数据集完全符合指定的筛选标准 在本例中 数据库引擎将从按照JOIN语句联接的所有表对中匹配记录(即BOOKS/BOOKS_AUTHORS BOOKS_AUTHORS/AUTHORS和BOOKS/LOCATION表对) 最后再应用筛选条件 减小数据集 仅仅返回满足条件LOC_SHELF = 和BK_TITLE以SQL开头的记录(请回忆一下带有LIKE谓词的匹配模式)

返回目录 SQL实战新手入门

编辑推荐

Oracle索引技术

高性能MySQL

lishixin/Article/program/SQL/201311/16472

Ⅲ SQL实战新手入门:SQL标准

SQL标准

为了在各个数据库厂商之间取得更大的统一性 美国国家标准学会(American NationalStandards Institute ANSI)段团祥于 年发布了第一个SQL标准 并于 年发布了第二个版本 该版本已经被广泛地采用 ANSI在 年更新了SQL标准的版本 即SQL 和SQL 并于 年再次更新为SQL 和SQL 标准 在每一次更新中 ANSI都在SQL中或悔添加了新特性 并在语言中集成了新的命令和功能

对于各种数据库产品 ANSI标准规范化了很多SQL行为和语法结构 随着开源数据库产品(例如MySQL mSQL和PostgreSQL)日渐流行并由虚拟团队而不是大握搏型公司开发 这些标准变得更加重要

现在 SQL标准由ANSI和国际标准化组织(International Standards Organization ISO)作为ISO/IEC 标准维护 最新发布的SQL标准是SQL: 下一版本的发布工作已经在进行之中 它将包含RDBMS在收集或分发数据方式上的新发展

返回目录 SQL实战新手入门

编辑推荐

Oracle索引技术

高性能MySQL

lishixin/Article/program/SQL/201311/16490

Ⅳ SQL实战新手入门:前言

前言

信息泛滥并没有减弱的趋势 人们被来自电视 Internet和塞满邮箱的广告等各种各样的信息所淹没 令人遗憾的是 随着信息数量的增长 信息的质量却在急剧下降 图书被期刊和杂志取代 然后被报纸 Web页面 博客取代 最终又被推特(eet)取代 信息量变得越来越庞大 也变得越来越不可信赖 更糟糕的是 在Internet时代数据永远不会真正消失 它不停地累积 隐藏在各种文件 日志和数据库中 根据Google的前CEO Eric Schmidt的说法 现在人类在两天之内创造的数据量就相当于自从出现书写记录到 年(或者任何一年)所创造的数据 即现在只需要两天就会创造出大约 EB(即 亿GB)的数据 这一步伐还在不停地加速

当以电子化方式存储数据变成现实之后 它也带来了自己的规则 要理解数据的含义 人们必须去学习相应的语言 关系数据库理论为人们带来了对电子化数据的掌控能力 它采用结构化查询语言(Structured Query Language SQL)来处理数据 到目前为止 关系数据库获取了巨大的成功

自从 世纪 年代第一次提出关系数据库以来 关系数据库和SQL已经取得了长足的进步 关系数据库和SQL中包含的那些概念对于初学者来说可能并不直观 本书将为读者抽丝剥茧 使读者理解SQL背后的原理 既让读者了解SQL的强大功能 也了解它存在的局限

读者对象

本书从入门知识开始介绍 读者无须具备SQL或关系数据库的预备知识 本书将带领读者走入SQL的发现之旅 读者将亲自创建示例数据库 它不仅结合了本书中所介绍的SQL概念 还将通过几次反复重构引入数据建模 查询调整和优化的概念 本书还介绍了一些适用于每一种SQL的最佳实践

本书适合于准备学习关系数据库程序设计的计算机程序员 也适合那些希望从数据库中释放更强大威力的商业用户 SQL是关系数据库世界的通用语言 每一个对学习SQL这门强大语言感兴趣的人都适合阅读本书

先前已具有一定数据库使用经验的读者可以略过前两章 直接跳到更高级的内容 当然也可以复习一下这两章中介绍的重要原则

内容提要

本书介绍了当前已发布的SQL标准SQL: 把最主要的精力放在了SQL语言实际的运用上 强调了不同SQL实现之间存在的差异 本书介绍了很多示例 在这些示例中使用了最新版本的现代数据库系统对SQL的具体实现 这些数据库要么是可以免费下载的Express版本 要么是免费的开源软件 另外 本书还介绍了目前最流行的桌面型数据库软件Microsoft Access和OpenOffice 本书中介绍的数据库包括

IBM UDB

Oracle g

Microsoft SQL Server / /

MySQL /

PostgreSQL

Microsoft Access /

带有嵌入式 HSQLDB的OpenOffice BASE

本书结构

本书从整体着眼 向读者介绍了关系数据库的一般概念 特别是SQL中的概念 通过一个反复重构数据库的过程 循序渐进地向读者介绍了数据库的各种知识 在这一过程中 对于开始时介绍的每一个概念 随后都进行了更详细的分析 从而启发读者理解这些概念背后的关联性

第 章简要地介绍了SQL及其背后的关系理论 这一章只是浮光掠影般地介绍了数据库最基本的概念 后面的各章都在此基础上展开 该章介绍了数据与信息的区别 一些基本的原理还需要在后面章节中进一步解释 这一章还对本书中所使用的关系数据库管理系统(RDBMS)进行了一个概述

第 章对这些概念进行了更深入的介绍 根据关系模型的分析 应该将无组织的数据结构化 使之符合关系模型的要求 即将 冰箱磁铁 模式转换为 斗柜 模式 然后再将其转换为关系数据库中实际的表

第 章进一步介绍了关系模型 初步介绍了数据库的基本设计和规范化的基本过程 这一章还介绍了一些对规范化数据执行查询的SQL工具 此外 该章还介绍了动态SQL

SQL是一种基于集合的语言 这使得它既有强大的功能 也存在一定的局限 第 章讨论了最流行的过程化扩展(例如Oracle的PL/SQL和Microsoft的Transact SQL) 这一章还介绍了SQL函数 SQL函数可以作为一种补充手段 以弥补在处理基于记录的逻辑时SQL存在的固有不足

第 章介绍了聚合数据 总结了这种方式的威力和局限 该章将前面章节中介绍过的SQL聚合函数提高到了一个新的层次 演示了如何使用SQL来获取数据的聚合值

第 章介绍了子查询 当数据集是交错的 查询数据需要依靠多层次的数据筛选时 可以将一个查询作为另一个查询的筛选条件 可以调整SQL语句 用JOIN代替子查询 这是贯穿本书的主题之一

SQL的强大功能在于处理存储在多个关系表中的数据 第 章介绍了SQL如何在单个数据集中联合这些关系表的数据

本书介绍的是基本的SQL概念 打开了进一步学习SQL的大门 第 章是SQL发现之旅的下一站 它介绍了进一步学习SQL时应该考虑的问题

第 章介绍了性能优化技术 描述了在优化查询和数据库环境时常用的方法和最佳实践 第 章讨论了多用户环境中关系数据库的工作原理 介绍了SQL中实现的处理并发数据访问的机制

SQL所有的操作都与结构和顺序有关 毕竟它是结构化查询语言 真实的数据可以是各种规模和结构 第 章介绍了SQL如何处理半结构化数据(XML文档) 非结构化数据(文本文件)和二进制数据(例如图片和声音)

第 章简要地讨论了数据库领域的最新发展 例如列式数据库 NoSQL数据库 对象数据库和面向服务的架构(SOA) 以及它们与SQL的关系

对于本书所讨论的每一种数据库 附录A按部就班地描述了安装示例数据库Library的过程 以及如何使用特定的指令生成Library数据库的初始数据 可以从本书支持网站上下载到这些SQL脚本

对于本书介绍的关系数据库软件包 附录B提供了一个详细的安装步骤

附录C描述了每一种数据库所提供的工具 使用这些工具可以访问 创建数据库对象 操纵存储在表中的数据

附录D介绍了开源项目SQuirreL Universal SQL Client 可以通过Java Database Connectivity(JDBC)接口 使用SQuirreL Universal SQL Client来访问各种数据库 该附录详细地介绍了如何安装和配置该软件

学习本书的条件

为了充分利用本书 建议下载和安装本书中使用的关系数据库软件 这些软件绝大多数都是免费的 或者具有免费的试用版 可以按照附录B中介绍的步骤来安装这些软件

支持网站和代码

在学习每一章时 建议下载相应的SQL脚本 创建并生成数据库 可以从 wrox 或者 agilitator 下载到本书的代码 在支持网站中 可以使用搜索框来查找指定名称的图书 在找到指定的图书之后 单击Download Code链接就可以访问允许下载的文件 可以通过HTTP或FTP下载这些代码 所有的文件都是以ZIP格式保存

本书的ISBN是 通过ISBN号查找本书 要比通过图书名称来查找更加方便

此外 还可以从Wrox的下载页面 wrox /dynamic/books/download aspx下载到本书的代码 只要单击Discovering SQL: A Hands On Guide for Beginners链接 就可以访问允许下载的文件

勘误表

尽管我们已经尽了最大的努力来保证文章或代码中不出现错误 但是错误总是难免的 如果您在本书中找到了错误 例如拼写错误或代码错误 请告诉我们 我们将非常感激 通过勘误表 可以让其他读者避免走入误区 当然 这还有助于提供更高质量的信息

要在网站上找到本书英文版的勘误表 可以登录// wrox 通过Search工具或书名列表查找本书 然后在本书的细目页面上 单击Book Errata链接 在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项 完整的图书列表还包括每本书的勘误表 网址是 wrox /misc pages/booklist s

如果你在勘误表上没有找到错误 那么可以到 wrox /contact/techsupport s上完成上面的表格 并把找到的错误发送给我们 我们将会核查这些信息 如果无误的话 会把它放置到本书的勘误表中 并在本书的后续版本中更正这些问题

p p wrox

要与作者和同行讨论 请加入p p wrox 上的P P论坛 这个论坛是一个基于Web的系统 便于您张贴与Wrox图书相关的消息和相关技术 与其他读者和技术用户交流心得 该论坛提供了订阅功能 当论坛上有新的消息时 它可以给您传送感兴趣的论题 Wrox作者 编辑和其他业界专家和读者都会到这个论坛上来探讨问题

在//p p wrox 上 有许多不同的论坛 它们不仅有助于阅读本书 还有助于开发自己的应用程序 要加入论坛 可以遵循下面的步骤

( ) 进入p p wrox 单击Register链接

( ) 阅读使用协议 并单击Agree按钮

( ) 填写加入该论坛所需要的信息和自己希望提供的其他信息 并单击Submit按钮

( ) 你会收到一封电子邮件 其中的信息描述了如何验证账户和完成加入过程

不加入P P也可以阅读论坛上的消息 但要张贴自己的消息 就必须加入该论坛

加入论坛后 就可以张贴新消息 回复其他用户张贴的消息 可以随时在Web上阅读消息 如果要让该网站给自己发送特定论坛中的消息 可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标

关于使用Wrox P P的更多信息 可阅读P P FAQ 了解论坛软件的工作情况以及P P和Wrox图书的许多常见问题 要阅读FAQ 可以在任意P P页面上单击FAQ链接

返回目录 SQL实战新手入门

编辑推荐

Oracle索引技术

高性能MySQL

lishixin/Article/program/SQL/201311/16496

Ⅳ sql数据库入门

语音吧,我教你

Ⅵ 《SQL入门经典第5版》pdf下载在线阅读,求百度网盘云资源

《SQL入门经典》((美)斯蒂芬森)电子书网盘下载免费在线阅读

资源链接:

链接:

提取码:owcl

书名:SQL入门经典

作者:(美)斯蒂芬森

译者:井中月

豆瓣评分:7.6

出版社:人民邮电出版社

出版年份:2011-11

页数:349

内容简介:《SQL入门经典(第5版)》的作者都是数据库教学与应用的专家,有着丰富的经验。《SQL入门经典(第5版)》详细介绍了SQL语言的基本语法、基本概念,说明了各种SQL实现与ANSI标准之间的差别。书中包含了大量的范例,直观地说明了如何使用SQL对数据进行处理。每章后面还有针对性很强的测验与练习,能够帮助读者更好地理解和掌握学习的内容。在最后的附录里还有关于安装MySQL的详细介绍、书中用到的关键SQL语句、测验和练习的答案。

《SQL入门经典(第5版)》的内容层次清晰,针对性强,非常适合初学者作为入门教材。

Ⅶ SQL 统计并按照统计排序

排序是我们在数据处理数据分析中经常要用到的方法,今天就简单介绍一下排序的几个方法

  • order by

  • order by xx;代表对xx进行升序排列

    order by xx desc 代表对xx进行降序排列,desc表示降序

    order by通常跟limit一起搭配

    order by xx limit 10代表取xx字段前10;

    order by xx limit 20,20代表取字段xx排序在21-40之间的值

  • 窗口函数

  • 具体参考下面思维导图

  • dense_rank()over(partition by room_id order by live_time desc)

  • 如果排序列的值相同给相同的序列标签, 不留排序标签不跳过,例子如下

Ⅷ sql入门新手教程

1、打开电脑浏览器,在网络搜索框中输入:w3cschool,然后点击网络按钮,如图所示。